Ik heb gemerkt dat Gsonde tekenreeks “<” converteert in een unicode-escape-reeks in JSON-uitvoer. Kun je dit op de een of andere manier vermijden, of tekens als “<” gebruiken en “>” altijd moeten worden escaped in JSON?
Beschouw dit voorbeeld dat {"s":"\u003c"}
afdrukt; Ik wil gewoon {"s":"<"}
.
public static void main(String[] args) {
Gson gson = new GsonBuilder().create();
System.out.println(gson.toJson(new Foo()));
}
static class Foo {
String s = "<";
}
Context: het stuk JSON dat ik aan het maken ben heeft niets te maken met HTML-pagina’s of zelfs JavaScript; het wordt alleen gebruikt om bepaalde gestructureerde informatie door te geven aan een ander stuk software (ingebed in een apparaat, geschreven in C).
Antwoord 1, autoriteit 100%
Je moet HTML-escaping uitschakelen.
Gson gson = new GsonBuilder().disableHtmlEscaping().create();