我有一个像这样的隐藏输入框
<input type="hidden" name="product-data" value="{Product: 'Premium', Code: 'ER412', SalesCode: 'SC415', Description: 'Premium Product Details'}" />
单击按钮后,我试图将此值转换为 JSON 对象,但出现错误。这是我的js代码
$('.icon-edit').live('click', function(){
var data = $(this).parent().siblings('input').val();
data = jQuery.parseJSON(data); // <--- Here I am getting error
//do something with data
});
错误:
SyntaxError: JSON.parse: expected property name or '}'
最佳答案
JSON 属性名称是字符串,JSON 字符串由"
字符分隔。
您的属性名称是标识符,在您有字符串值的地方,您已使用 '
分隔它们。这对 JavaScript 对象字面量没问题,但对 JSON 就不行。
<input
type="hidden"
name="product-data"
value="{"Product": "Premium", "Code": "ER412", "SalesCode": "SC415", "Description": "Premium Product Details"}"
/>
(您也可以用 '
分隔 HTML 属性值并在其中使用文字 "
)
关于javascript - SyntaxError : JSON. 解析:预期的属性名称或输入值中的 '}',我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13083230/