J'ai du mal à analyser mon fichier JSON que j'obtiens de javascript. Le format JSON est le suivant:Analyse du tableau JSON avec gson
[{"positions":[{"x":50,"y":50},{"x":82,"y":50},{"x":114,"y":50},{"x":146,"y":50}]},{"positions":[{"x":210,"y":50},{"x":242,"y":50},{"x":274,"y":50}]}]
Jusqu'à présent, j'ai pu en arriver là:
{"positions":[{"x":50,"y":50},{"x":82,"y":50},{"x":114,"y":50},{"x":146,"y":50}]}
Mais j'ai besoin aussi de créer maintenant une classe avec ces positions. Je n'ai pas travaillé sur la classe, puisque j'ai essayé d'imprimer la sortie en premier, mais je suis incapable de la décomposer davantage. Je reçois ce message d'erreur:
java.lang.IllegalStateException: ce n'est pas un tableau JSON.
Et mon code est le suivant:
JsonParser parser = new JsonParser();
String ships = request.getParameter("JSONships");
JsonArray array = parser.parse(ships).getAsJsonArray();
System.out.println(array.get(0).toString());
JsonArray array2 = parser.parse(array.get(0).toString()).getAsJsonArray();
System.out.println(array2.get(0).toString());
J'ai aussi essayé de le faire de cette façon:
Gson gson = new Gson() ;
String lol = (gson.fromJson(array.get(0), String.class));
System.out.println(lol);
Dans ce cas, je reçois:
com.google.gson. JsonSyntaxException: java.lang.IllegalStateException: STRING attendu mais BEGIN_OBJECT
À la fin, iw ant pour boucler les positions, créant une classe pour chaque "position", qui contient une liste avec une autre position de classe, qui a l'int x, y.
Nous vous remercions de votre temps.
Merci beaucoup. Je n'ai jamais pensé que ce serait si facile et je ne sais même pas ce que je voulais faire avec la chaîne. Vous êtes mon héros – user1047833
Hi est-il possible d'analyser une chaîne JSON complexe créée en PHP ayant mélangé des types de données sans créer de classe interne. En fait, notre API est écrite en PHP et nous utilisons cette API via une application Java. – sumit
@sumit: comment voulez-vous consommer la chaîne JSON? Alors que JSON est le format d'objet en PHP/javascript, comment accèderiez-vous aux propriétés de java? –