我有一个如下的json
var object = {200x200: "url1", 400x400: "url2", 800x800: "url3"};
我对对象进行了字符串化处理,并尝试使用“ 200x200”。但是它的抛出
未定义
object = JSON.stringify(object);
//object = {"200x200": "url1", "400x400": "url2", "800x800": "url3"};
我试图这样访问
object['200x200'] // got undefined
还有其他方法可以从此对象访问url1吗?
答案 0 :(得分:2)
因为您的json对象格式错误:
将密钥用引号引起来,例如:https://codepen.io/creativedev/pen/LrBOmG
var object = {'200x200': "url1",'400x400': "url2", '800x800': "url3"};
然后检查:
console.log(object['200x200']);
您将获得输出
答案 1 :(得分:1)
您应该将对象更改为
var object = {'200x200': "url1", '400x400': "url2", '800x800': "url3"};
object['200x200'] // 'url1'
答案 2 :(得分:1)
将其字符串化后,它就是一个字符串。您必须将其解析回一个对象。
onChildAdded
https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/JSON/parse
答案 3 :(得分:1)
您可以解析它:
object = JSON.parse(object);
然后访问密钥:
let url1 = object['200x200']
不知道为什么要首先将其字符串化!
let jsonObject = JSON.stringify(object);
// instead of:
let url1 = JSON.parse(JSON.stringify(object))['200x200']