Парсинг 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, время: 06:00. |