如何使用html5数据属性在html元素中存储javascript对象或JSON?

如何使用html5数据属性在html元素中存储javascript对象或JSON?,javascript,jquery,json,html,Javascript,Jquery,Json,Html,我有锚元素,我想这样存储和检索对象 <a id ="test" data-val="{key1:val1,key1:val1}"> </a> 如果我使用了$.parseJSON()或JSON.parse()它会抛出一个错误 Uncaught SyntaxError: Unexpected token 这是因为它不是有效的JSON 有效的JSON具有带引号的键,并使用双引号分隔字符串。您的示例不符合这些要求。这是因为它不是有效的JSON 有效的JSON具有带引号的键,

我有锚元素,我想这样存储和检索对象

<a  id ="test" data-val="{key1:val1,key1:val1}"> </a>
如果我使用了
$.parseJSON()
JSON.parse()
它会抛出一个错误

Uncaught SyntaxError: Unexpected token

这是因为它不是有效的JSON


有效的JSON具有带引号的键,并使用双引号分隔字符串。您的示例不符合这些要求。

这是因为它不是有效的JSON

有效的JSON具有带引号的键,并使用双引号分隔字符串。您的示例不符合这些要求。

这是无效的,特别是您缺少引号:

{"key1":"val1","key1":"val1"}
这是无效的,特别是您缺少引号:

{"key1":"val1","key1":"val1"}

请注意,一旦您将格式更正为有效的JSON(如下所述),jQuery将在将其放入内部
数据
缓存时自动为您解析它,因此您无需对其调用
JSON.parse()
。请参阅此示例:注意,一旦将格式更正为有效的JSON(如下所述),jQuery将在将其放入内部
数据
缓存时自动为您解析它,因此您无需对其调用
JSON.parse()
。请参见此示例:这看起来也是无效的。您至少缺少一个尾随
}
,并且引号是单引号而不是双引号(但解析器可能会接受)。这看起来也是无效的。您至少缺少一个尾随
}
,引号是单引号而不是双引号(但解析器可能会接受它)。@RIYAJKHAN我的答案仍然有效。使用双引号。并确保字符串以
}
@RIYAJKHAN单引号结尾在json对象键中无效。谢谢@alex。我得到了it@RIYAJKHAN我的答案仍然有效。使用双引号。并确保字符串以
}
@RIYAJKHAN单引号结尾在json对象键中无效。谢谢@alex。我明白了