Является ли JSON.stringify () надежным для сериализации объектов JSON? - PullRequest
2 голосов
/ 27 апреля 2010

Мне нужно отправить полные объекты из Javascript в PHP. Казалось довольно очевидным сделать JSON.stringify (), а затем json_decode () в конце PHP, но позволит ли это строки с ":" и ","? Нужно ли запускать функцию escape () для больших строк ввода, которые могут вызвать проблемы? Какой будет эта функция побега? Я не думаю, что побег работает для моих целей.

Есть ли недостатки JSON.stringify (), о которых мне нужно знать?

Спасибо

Ответы [ 2 ]

2 голосов
/ 27 апреля 2010

Да, это надежно в любой достойной реализации (например, Крокфорда ), и нет, вам не нужно сначала пробежаться по escape (если вы это сделаете, PHP будет довольно запутан в другой конец). Браузеры начинают получать свои собственные реализации JSON-материалов (теперь, когда они в спецификации 5-го издания ), но сейчас вам лучше всего использовать Crockford или аналогичные.

0 голосов
/ 27 апреля 2010

Здесь довольно хорошее описание того, что делает JSON.stringify ():

http://www.json.org/js.html

Исходный код также доступен, если вы хотите быть уверены и / или внести изменения.

Я использую его месяцами без проблем.

Кроме того, Я не уверен, что вы видели справочную страницу для json_decode, там также много полезной информации: http://ie2.php.net/manual/en/function.json-decode.php

НТН

...