Можете ли вы избежать преобразования Gson «<» и «>» в ​​escape-последовательности Юникода? - PullRequest
109 голосов
/ 10 ноября 2010

Я заметил, что Gson преобразует строку "<" в escape-последовательность Юникода в выводе 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).

1 Ответ

220 голосов
/ 10 ноября 2010

Вам необходимо отключить экранирование HTML .

Gson gson = new GsonBuilder().disableHtmlEscaping().create();
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...