У меня есть строка, которая сериализуется в JSON в Javascript, а затем десериализуется в Java.
Похоже, если строка содержит символ градуса, я получаю проблему.
Я мог бы помочь понять, кто виноват:
- это реализация Spidermonkey 1.8? (встроенная реализация JSON)
- это Google gson ?
- это я за то, что не сделал что-то правильно?
Вот что происходит в JSDB:
js>s='15\u00f8C'
15°C
js>JSON.stringify(s)
"15°C"
Я бы ожидал "15\u00f8C'
, что наводит меня на мысль, что реализация JSON Spidermonkey не работает правильно ... за исключением того, что описание синтаксиса домашней страницы JSON (это спецификация?) Говорит что символ может быть
любой-Unicode, характери-
кроме - "- или - \ - или-
управляющий символ "
так что, возможно, она передает строку как есть, не кодируя ее как \ u00f8 ... в этом случае я думаю, что проблема в библиотеке gson.
Может кто-нибудь помочь?
Я полагаю, что мой обходной путь - использовать другую библиотеку JSON или вручную экранировать строки после вызова JSON.stringify()
- но если это ошибка, я бы хотел подать отчет об ошибке.