У меня есть строка, которая сериализуется в 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 описание (это спецификация?) говорит, что char может быть
любой-Unicode, характе- кроме - "- или -\- или- контрольный символ"
поэтому, возможно, он передает строку вдоль as-is, не кодируя ее как \u00f8... в этом случае я бы подумал, что проблема связана с библиотекой gson.
Может ли кто-нибудь помочь?
Я полагаю, что мое обходное решение заключается в использовании либо другой библиотеки JSON, либо вручную удалении строк после вызова JSON.stringify()
, но если это ошибка, я хотел бы подать отчет об ошибке.