我尝试将字符串转换为对象。我用:
var ec = $(".selector").attr('build'); // this return {abc:'one', bcm:'two', etc...}
var et = ec.abc // this return me undefined
我试试这种方式
var et = new Object(ec);
var t = et.abc // this return undefined
如何转换这个?
答案 0 :(得分:5)
如果该属性包含恰好采用Json对象格式的string
,则必须首先解析string
以便能够以某种方式访问它的元素会和Json一起工作:
var ec = $(".selector").attr('build');
var myObject = JSON.parse(ec);
var et = myObject.abc;
当然,您可能希望在string
周围添加验证,以确保它始终采用该形式,否则您可能会通过进行这些假设来遇到问题。
另外,是否有理由将Json字符串存储在HTML属性中?
答案 1 :(得分:1)
使用$.parse()
方法
var et= $.parse($(".selector").attr('build'));
var t = et.abc
答案 2 :(得分:0)
如果这个
var ec = $(".selector").attr('build');
返回此
// this return {abc:'one', bcm:'two', etc...}
然后你已经有了一个对象。
答案 3 :(得分:0)
您需要使用JSON解析器解析字符串。您不能只将字符串传递给Object
构造函数。
答案 4 :(得分:0)