/ / Comment convertir des données JSON sous Android? - Android, JSON

Comment convertir des données JSON sous Android? - Android, JSON

Je suis nouveau sur JSON et j'essaye de convertir une chaîne en objet JSON, j'ai une chaîne de ce lien http://hawttrends.appspot.com/api/terms/ J'essaie de convertir ces données en objet Json, mais lors de la conversion de données en un objet json, j'obtiens une erreur.

Erreur donnée par le compilateur qui ne peut pas "convertir une chaîne en objet json.

J'ai eu des données dans une chaîne, mais maintenant je ne sais pas comment convertir ces données en un objet, aidez-moi s'il vous plaît.

Réponses:

1 pour la réponse № 1

Vous pouvez soit utiliser le "s" de Google Gson ou l'androïde intégré org.json.JSONObject.

Exemple d'utilisation Gson:

JsonObject json = new JsonParser().parse(jsonString).getAsJsonObject();

Exemple d'utilisation org.json.JSONObject:

JSONObject json = new JSONObject(jsonString);

Aussi, si vous consommez des appels d’API en utilisant le populaire Retrofit bibliothèque, il peut automatiquement faire la conversion.


0 pour la réponse № 2

Jeter un coup d'œil à ce bibliothèque, il est l’un des meilleurs et facile à utiliser.

Ensuite, vous générez un POJO à partir de votre JSON en collant votre JSON ici (N'oubliez pas de bloquer Gson lorsque vous générez le code)

EDIT: j'ai aussi remarqué que votre source JSON n'est pas bien formée


0 pour la réponse № 3

Jetez un oeil à cette documentation: https://developer.android.com/reference/org/json/JSONObject.html

Notez spécifiquement comment le constructeur pour unJSONObject peut prendre différents arguments. Assurez-vous de passer les bons arguments dans les bonnes circonstances en fonction de la façon dont votre chaîne est formatée.


0 pour la réponse № 4

La réponse renvoyée est un JSONObject. Pour convertir une chaîne JSON en objet JSON, utilisez

JSONObject obj=null;
try{
obj=new JSONObject(YOUR_STRING);
}
catch(Exception e)
{
e.printStackTrace();
}

Ensuite, vous devez récupérer JSONArray à chaque clé en utilisant

JSONArray arr = obj.getJSONArray("number");