为什么我不能解析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与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/