web-dev-qa-db-fra.com

Pouvez-vous éviter que Gson convertisse "<" et ">" en séquences d'échappement unicode?

J'ai remarqué que Gson convertit la chaîne "<" en une séquence d'échappement unicode en sortie JSON. Pouvez-vous éviter cela d'une manière ou d'une autre, ou faut-il toujours échapper des caractères comme "<" et ">" dans JSON?

Considérez cet exemple qui imprime {"s":"\u003c"}; Je voudrais simplement {"s":"<"}.

public static void main(String[] args) {
    Gson gson = new GsonBuilder().create();
    System.out.println(gson.toJson(new Foo()));  
}

static class Foo {
    String s = "<";
}

Contexte: le morceau de JSON que je crée n'a rien à voir avec les pages HTML ou même JavaScript; il est juste utilisé pour transmettre certaines informations structurées à un autre logiciel (intégré dans un appareil, écrit en C).

112
Jonik

Vous devez désactiver l'échappement HTML .

Gson gson = new GsonBuilder().disableHtmlEscaping().create();
225
BalusC