我有一个隐藏的输入字段,如
<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 '}'
答案 0 :(得分:4)
JSON属性名称是字符串,JSON字符串由"
个字符分隔。
您的属性名称是标识符,如果您有字符串值,则使用'
对其进行分隔。这适用于JavaScript对象文字,但不适用于JSON。
<input
type="hidden"
name="product-data"
value="{"Product": "Premium", "Code": "ER412", "SalesCode": "SC415", "Description": "Premium Product Details"}"
/>
(您还可以使用'
分隔HTML属性值,并在其中使用文字"
。