jquery未解析数据属性中保存的数据
我试图解析保存在如下定义的数据属性中的数据 HTML 当试图将json解析为jquery未解析数据属性中保存的数据,jquery,json,Jquery,Json,我试图解析保存在如下定义的数据属性中的数据 HTML 当试图将json解析为 $.parseJSON(details) 它返回控制台 SyntaxError: JSON.parse: unexpected character at line 1 column 1 of the JSON data 任何指导都是非常宝贵的 *即使html声明为(所有变量都用单引号括起来)也可以编辑 再次出现相同的错误您的详细信息不是有效的JSON,因此$.parseJSON无法读取它。您需要在键和(字符串)
$.parseJSON(details)
它返回控制台
SyntaxError: JSON.parse: unexpected character at line 1 column 1 of the JSON data
任何指导都是非常宝贵的
*即使html声明为(所有变量都用单引号括起来)也可以编辑
再次出现相同的错误您的
详细信息
不是有效的JSON,因此$.parseJSON
无法读取它。您需要在键和(字符串)值周围使用双引号。有效的JSON需要双引号
注意:可以对HTML属性使用单引号或双引号
如所述,当您执行$(this).data('details')
时,jQuery将自动为您解析JSON(它将检测到它是JSON,然后解析它),您不需要$.parseJSON
这里有一个演示:您的
详细信息
不是有效的JSON,因此$.parseJSON
无法读取它。您需要在键和(字符串)值周围使用双引号。有效的JSON需要双引号
注意:可以对HTML属性使用单引号或双引号
如所述,当您执行$(this).data('details')
时,jQuery将自动为您解析JSON(它将检测到它是JSON,然后解析它),您不需要$.parseJSON
这里有一个演示:应该注意的是,
data
方法试图解析JSON,所以$。不应该使用parseJSON
。@Vohuman:我忘了,你说得对!让我把这一点添加到答案中。当变量名和值用引号括起来返回相同的错误时,使用数据并不是将数据作为对象返回,而是作为string@BarryHamilton:可能是因为@Vohuman所说的$(this).data('details')
将为您解析JSON。你不需要$。parseJSON
$(this)。data('details')将json作为字符串返回,而不是object。应该注意,data
方法试图解析json,所以$。parseJSON
不应该被使用。@Vohuman:我忘了,你说得对!让我把这一点添加到答案中。当变量名和值用引号括起来返回相同的错误时,使用数据并不是将数据作为对象返回,而是作为string@BarryHamilton:可能是因为@Vohuman所说的$(this).data('details')
将为您解析JSON。您不需要$。parseJSON
$(this)。数据('details')将json作为字符串而不是对象返回
$.parseJSON(details)
SyntaxError: JSON.parse: unexpected character at line 1 column 1 of the JSON data
<div class="transaction-panel matched" data-details="{'value':'2.38', 'image':'tesco.png' }" ></div>
<div data-details='{"value":2.38, "image":"tesco.png"}'></div>