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

10-11 13:40