Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/json/15.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
jquery未解析数据属性中保存的数据_Jquery_Json - Fatal编程技术网

jquery未解析数据属性中保存的数据

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无法读取它。您需要在键和(字符串)

我试图解析保存在如下定义的数据属性中的数据

HTML

当试图将json解析为

$.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>