这是我的HTML:
<input type="text" data-setup='{ "method" : "checkbox" }'>
到目前为止,这是我的JavaScript:
var a = document.querySelectorAll('[data-setup]')
for (var i=0;i<a.length;i++) {
alert(a[i].getAttribute('data-setup'));
}
然后提醒:
ALERT: { "method" : "checkbox" }
但是如何访问JSON“方法”?我希望基本上能够提醒“复选框”这个词。任何帮助表示赞赏。
答案 0 :(得分:6)
JSON.parse是从JSON创建适当对象的最简单方法:
for (var i=0;i<a.length;i++) {
var obj = JSON.parse(a[i].getAttribute('data-psswrd'));
alert(obj.method); //will alert what was in the method property
console.log(obj); // should log a proper object
}
当然,这在旧版浏览器中不起作用,因此如果您需要这种浏览器支持,则需要对其进行填充。道格拉斯·克罗克福德有一个垫片here,或者如果你已经在使用那个实用程序,jQuery有一个JSON parsing method。
答案 1 :(得分:2)
您需要使用JSON.parse
方法:
var myJSON = JSON.parse( a[i].getAttribute('data-psswrd') );
alert( myJSON );
所有现代浏览器和IE8 +都支持此功能。
如果您需要支持较旧的浏览器here,那就很少了。请参阅浏览器兼容性部分。