Parsing json
Kilkenny95
Messages postés
151
Date d'inscription
Statut
Membre
Dernière intervention
-
KX Messages postés 16761 Date d'inscription Statut Modérateur Dernière intervention -
KX Messages postés 16761 Date d'inscription Statut Modérateur Dernière intervention -
Bonjour,
J'aimerais parser mon json qui se trouve dans un StringBuffer. Je comprends que ce que mon APi me renvoi avec monde est de type Array non un JSON, mais comment faire piur parser directement mon Array, ou comment transformer mon Array en JSON Object ?
erreur :
Exception in thread "main" java.lang.IllegalStateException: Not a JSON Object: [{"id":1,"name":"Leanne Graham","username":"Bret","email":"Sincere@april.biz","address":{"street":"Kulas Light","suite":"Apt. 556","city....]
Des idées ?
Merci
J'aimerais parser mon json qui se trouve dans un StringBuffer. Je comprends que ce que mon APi me renvoi avec monde est de type Array non un JSON, mais comment faire piur parser directement mon Array, ou comment transformer mon Array en JSON Object ?
String reponseBrut = new String(responseContent.toString()); JsonObject jsonObject = new JsonParser().parse(reponseBrut).getAsJsonObject(); System.out.println(jsonObject.get("name").getAsString());
erreur :
Exception in thread "main" java.lang.IllegalStateException: Not a JSON Object: [{"id":1,"name":"Leanne Graham","username":"Bret","email":"Sincere@april.biz","address":{"street":"Kulas Light","suite":"Apt. 556","city....]
Des idées ?
Merci
1 réponse
Bonjour,
Il faut regarder la documentation quand tu as des problèmes.
JsonObject gère les valeurs entourées par des accolades.
https://jakarta.ee/specifications/platform/8/apidocs/javax/json/jsonobject
Pour les valeurs json entourées par des crochets il faut utiliser JsonArray
https://jakarta.ee/specifications/platform/8/apidocs/javax/json/jsonarray
Il faut regarder la documentation quand tu as des problèmes.
JsonObject gère les valeurs entourées par des accolades.
https://jakarta.ee/specifications/platform/8/apidocs/javax/json/jsonobject
Pour les valeurs json entourées par des crochets il faut utiliser JsonArray
https://jakarta.ee/specifications/platform/8/apidocs/javax/json/jsonarray
Merci de ta réponse, mais e, insérant le code montré j'obtiens :
Erreur :
Exception in thread "main" java.lang.ClassCastException: org.json.simple.JSONArray cannot be cast to org.json.JSONObject
C''est précisément l'erreur qu'il ressort encore
Dans ton premier message tu mettais JsonObject et JsonParser (javax.json.*) et maintenant tu mets JSONObject et JSONParser (org.json.*)
Quant au message, c'est assez classique : tu ne peux faire que si hérite de .
Dans ton cas y est un JSONArray, x est un JSONObject, mais il n'y a pas de relation d'héritage entre les deux.