为什么我无法解析 JSON 对象?我需要将其用引号引起来才能进行解析。
// JSON object
var foo = {"sayHi": {"nl":"hoi", "en":"hello"}};
alert(foo.sayHi.en);
// string
var foo = '{"sayHi": {"nl":"hoi", "en":"hello"}}';
alert(JSON.parse(foo).sayHi.nl);
编辑:
// does not work
var foo = {"sayHi": {"nl":"hoi", "en":"hello"}};
alert(JSON.parse(foo).sayHi.nl);
是的,两者都有效,但第一个 foo 不适用于 with parse。而且我更喜欢第一个 foo,因为我不需要担心换行符、引号和加号。
编辑2:
我真的在寻找一种很好的方法来将 JSON 存储在变量中,而不是使用 ajax 调用来获取它。
最佳答案
因为这个{"sayHi": {"nl":"hoi", "en":"hello"}}
已经是js对象了
而这个 '{"sayHi": {"nl":"hoi", "en":"hello"}}'
只是一个字符串,包含任何内容,可能是 json
关于javascript - 为什么我不能在 JS 中解析没有引号的 JSON?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15248827/