Я заметил, что Gson преобразует строку «<» в escape-последовательность Unicode в выводе JSON. Можете ли вы как-то избежать этого, или символы типа «<» и «>» всегда нужно экранировать в JSON?
Рассмотрим этот пример, который печатает {"s":"\u003c"}
; Хочу просто {"s":"<"}
.
public static void main(String[] args) {
Gson gson = new GsonBuilder().create();
System.out.println(gson.toJson(new Foo()));
}
static class Foo {
String s = "<";
}
Контекст: создаваемый мной фрагмент JSON не имеет ничего общего с HTML-страницами или даже с JavaScript; он просто используется для передачи определенной структурированной информации другому программному обеспечению (встроенному в устройство, написанному на C).
2
GSON по умолчанию делает это? Вау. Это довольно странная настройка по умолчанию, хотя с точки зрения спецификации JSON это вполне законно.
—
StaxMan
Да, меня тоже это удивило. К счастью, лекарство легко, если знать, где искать. :) В остальном, поработав с ней один день, я нахожу Gson действительно чистой, красивой библиотекой, а также отличным руководством пользователя !
—
Jonik
То же самое происходит с символом «=», который превращается в «=».
—
Рассел Сильва