我正在尝试解析数据属性中保存的数据,如下所示
HTML
<div data-details="{'value':'2.38', 'image':tesco.png }"></div>
jquery的
var details = $(this).data('details');
尝试将json解析为
时$.parseJSON(details)
它在控制台中返回
SyntaxError: JSON.parse: unexpected character at line 1 column 1 of the JSON data
任何指导都是非常苛刻的。
*编辑即使html声明为(所有变量都包含在单引号中)
<div class="transaction-panel matched" data-details="{'value':'2.38', 'image':'tesco.png' }" ></div>
同样的错误重新出现
答案 0 :(得分:4)
details
有效的JSON,因此$.parseJSON
无法读取它。您需要在键和值(字符串)值周围使用双引号。有效的JSON需要双引号。
<div data-details='{"value":2.38, "image":"tesco.png"}'></div>
注意:您可以对HTML属性使用单引号或双引号。
如@Vohuman所述,当你执行$(this).data('details')
时,jQuery会自动为你解析JSON(它将检测到它的JSON,然后解析它),你不会&#39} ; t需要$.parseJSON
。