JQuery ParseJSON сбой - PullRequest
       4

JQuery ParseJSON сбой

1 голос
/ 22 марта 2011

Я кое-что делал с функцией jQuery parseJSON.

Это код, который не работает

var obj = $.parseJSON("{'w':'w-1'}");
alert(obj.w);

После отладки в течение некоторого времени я изменил одинарные кавычки на двойные кавычкикак приведенный ниже код, и он работал нормально.

var obj = $.parseJSON('{"w":"wb-001"}');
alert(obj.w);

Некоторые связанные вопросы

1) Я просто хочу знать, ПОЧЕМУ одинарные кавычки не работают?

2)Одинарные кавычки прекрасно работают с eval, но не с parseJSON. Почему?

var obj = eval("("+"{'w':'w-1'}"+")");
alert(obj.w);

3) Я обычно пишу так

var someString = "HELLO WORLD";

и

var someString = 'HELLO WORLD';

После встречивышеупомянутая проблема, мне было интересно, если я делал что-то не так во всех моих предыдущих кодах JavaScript.

Спасибо заранее, kvj

1 Ответ

5 голосов
/ 22 марта 2011

1) В спецификации JSON указано: используйте двойные кавычки .

String (Unicode с двойными кавычками с обратной косой чертой)

Источник .

2) eval() не анализатор JSON, а оценщик JavaScript. Он будет запускать вашу строку, как если бы это был JavaScript.

3) В JavaScript они имеют одинаковое значение. Просто будь последовательным. Я лично использую ', потому что я иногда имею дело с сериализованным HTML, и я использую " для своих значений атрибутов.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...