Почему я не могу разобрать объект JSON? Мне нужно обернуть его в кавычки для синтаксического анализа.Почему я не могу разобрать JSON без кавычек в JS?
// 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 не работает с разборе. И мне нравится первый foo лучше, потому что мне не нужно беспокоиться о разрывах строк, цитатах и плюсах.
edit2:
Я действительно ищу хороший способ для хранения JSON в переменном, вместо того, чтобы использовать вызов Ajax, чтобы получить его.
Я пробовал это, и он отлично работает. http://jsfiddle.net/ceXP9/. Какой браузер вы использовали. – pktangyue
Нет такой вещи, как объект JSON. JSON по определению является строкой. – jbabey