[GSON] Caractère # pose problème
Bonjour,
J'envoie à mon programme java une String contenant le code JSON suivant :
Code JSON formaté :
Code:
1 2 3 4 5 6 7 8
|
{
"testx": [
{
"id": "UID#0"
}
]
} |
J'utilise GSON pour traduire ce code en un objet. Cela fonctionne parfaitement tant que je ne met pas de # dans l'id. A partir du moment où j'ai un # cela pose problème du côté de JAVA.
En javascript je traduis comme ceci :
JSON.stringify('testx': 'UID#0');
Et en Java je fais simplement ceci :
Global env = gson.fromJson(global, Global.class);
où global correspond à ma requête JSON.
Quand j'ai un # j'obtiens cette erreur :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18
| Exception in thread "main" com.google.gson.JsonSyntaxException: java.io.EOFException: End of input at line 1 column 234
at com.google.gson.Gson.fromJson(Gson.java:813)
at com.google.gson.Gson.fromJson(Gson.java:768)
at com.google.gson.Gson.fromJson(Gson.java:717)
at com.google.gson.Gson.fromJson(Gson.java:689)
at simulator.socket.Launch.main(Launch.java:70)
Caused by: java.io.EOFException: End of input at line 1 column 234
at com.google.gson.stream.JsonReader.nextNonWhitespace(JsonReader.java:1377)
at com.google.gson.stream.JsonReader.doPeek(JsonReader.java:471)
at com.google.gson.stream.JsonReader.hasNext(JsonReader.java:403)
at com.google.gson.internal.bind.ReflectiveTypeAdapterFactory$Adapter.read(ReflectiveTypeAdapterFactory.java:166)
at com.google.gson.internal.bind.TypeAdapterRuntimeTypeWrapper.read(TypeAdapterRuntimeTypeWrapper.java:40)
at com.google.gson.internal.bind.CollectionTypeAdapterFactory$Adapter.read(CollectionTypeAdapterFactory.java:81)
at com.google.gson.internal.bind.CollectionTypeAdapterFactory$Adapter.read(CollectionTypeAdapterFactory.java:60)
at com.google.gson.internal.bind.ReflectiveTypeAdapterFactory$1.read(ReflectiveTypeAdapterFactory.java:93)
at com.google.gson.internal.bind.ReflectiveTypeAdapterFactory$Adapter.read(ReflectiveTypeAdapterFactory.java:172)
at com.google.gson.Gson.fromJson(Gson.java:803)
... 4 more |
Est-ce que cela vous ai déjà arrivé ? J'ai tenté de traduire en Unicode \u0023 mais toujours le même problème.
En vous remerciant par avance.