Bonjour,

J'envoie à mon programme java une String contenant le code JSON suivant :

Code JSON formaté :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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 : Sélectionner tout - Visualiser dans une fenêtre à part
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.