Парсинг json с двойными кавычками
Всем привет!
Как правильно парсить двойные кавычки в JSON? На php выдаю `json_encode($arr)` и в результате вижу:
{"firstname":"test","lastname":"te\"st"}
Через $.ajax это нормально преобразуется в объект. Но как это распарсить без $.ajax? Вот такой парсинг -
$.parseJSON('{"firstname":"opa","lastname":"test"}');
работает нормально Вот такой -
$.parseJSON('{"firstname":"opa","lastname":"te\"st"}');
с ошибкой И вот такой
$.parseJSON('{"firstname":"opa","lastname":"te\\"st"}');
снова нормально. |
llpoolerll, json_encode($arr) сразу преобразует как надо. Проблема надуманная.
|
$var['a'] = 'qwe"qwe'; echo json_encode($var); выдает
{"a":"qwe\"qwe"}
а затем
$.parseJSON('{"a":"qwe\"qwe"}');
выдаетSyntaxError: Unexpected token q |
http://api.jquery.com/jquery.parsejson/
Цитата:
|
llpoolerll, естсетвенно, что
$.parseJSON('{"a":"qwe\"qwe"}');
вызывает ошибку.Потому что запись в коде '{"a":"qwe\"qwe"}' превращается в строку {"a":"qwe"qwe"}. Ответ же от сервера приходит уже в виде готовой строки {"a":"qwe\"qwe"}(чего можно добиться написав в коде '{"a":"qwe\\"qwe"}' ). Если в $.parseJSON ты подставишь ответ сервера, а не новосозданную строку - всё будет работать. |
Весь вопрос как добиться doubling backslashed))))
|
Цитата:
|
Цитата:
|
А почему бы не отдавать с сервера сразу json, а не строку?
|
Цитата:
|
| Часовой пояс GMT +3, время: 23:06. |