Parsing json
Fermé
Kilkenny95
Messages postés
157
Date d'inscription
lundi 24 septembre 2018
Statut
Membre
Dernière intervention
31 août 2020
-
Modifié le 8 nov. 2019 à 11:59
KX Messages postés 16668 Date d'inscription samedi 31 mai 2008 Statut Modérateur Dernière intervention 17 mars 2023 - 8 nov. 2019 à 17:47
KX Messages postés 16668 Date d'inscription samedi 31 mai 2008 Statut Modérateur Dernière intervention 17 mars 2023 - 8 nov. 2019 à 17:47
1 réponse
KX
Messages postés
16668
Date d'inscription
samedi 31 mai 2008
Statut
Modérateur
Dernière intervention
17 mars 2023
3 005
8 nov. 2019 à 14:32
8 nov. 2019 à 14:32
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
8 nov. 2019 à 14:41
Merci de ta réponse, mais e, insérant le code montré j'obtiens :
String reponseBrut = new String(responseContent.toString()); JSONParser jsonParser = new JSONParser(); JSONObject jsonObject = (JSONObject) jsonParser.parse(reponseBrut); String value = (String) jsonObject.get("name"); System.out.println(value);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
8 nov. 2019 à 17:47
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.
Object obj = jsonParser.parse(reponseBrut); if (obj instanceof JSONObject) { JSONObject jsonObject = (JSONObject) obj; ... } else if (obj instanceof JSONArray) { JSONArray jsonArray = (JSONArray) obj; ... }