Comment analyser le Tableau JSON (Pas d'Objet Json) dans Android
J'ai du mal à trouver un moyen d'analyser JSONArray.
Il ressemble à ceci:
[{"name":"name1","url":"url1"},{"name":"name2","url":"url2"},...]
Je sais comment analyser si le JSON a été écrit différemment (En d'autres mots, si j'avais objet json retourné au lieu d'un tableau d'objets).
Mais c'est tout ce que j'ai et aller avec elle.
*EDIT: C'est un json valide. J'ai fait une application iPhone à l'aide de cette json, maintenant, j'ai besoin de le faire pour Android et ne peut pas le comprendre.
Il y a beaucoup d'exemples, mais ils sont tous JSONObject liés. J'ai besoin de quelque chose pour JSONArray.
Quelqu'un peut-il me donner un indice, ou un tutoriel ou un exemple?
Beaucoup apprécié !
- Essayer ce pour voir si votre json est valide json.parser.online.fr
- êtes-vous à l'aide de n'importe quelle bibliothèque pour le parsing json? Utilisation gson bibliothèque json de l'analyse.Bien Utile.
- Il est valable. J'ai analysé dans une application que j'ai fait pour un iPhone Et ça fonctionne. Je juste ne sais pas comment le faire dans Android
- ouais j'ai remarqué que je pouvais utiliser gson. seul problème, tous les exemples que j'ai trouvé sont pour l'analyse d'une JSONObject pas JSONArray
- Poster votre code que vous avez essayé jusqu'à présent.Il sera utile de donner une réponse précise en conséquence.
Vous devez vous connecter pour publier un commentaire.
utiliser le code suivant pour analyser les JsonArray.
Espère que cela aide.
Je vais juste donner un peu de Jackson exemple:
D'abord créer un détenteur de données qui a le champs de chaîne JSON
Et analyser liste de MyDataHolders
En utilisant les éléments de la liste
DefaultHttpClient
s execute la méthode est un appel bloquant, donc il doit être fait dans une tâche d'arrière-plan, juste pour faire clair pourquoi il est dans une catégorie distincte.import your_package_name_here.HttpGetTask.OnHttpGetCompletedListener;
De sortie:
Créer une classe pour contenir les objets.
Puis désérialiser comme suit:
Référence De L'Article: http://blog.patrickbaumann.com/2011/11/gson-array-deserialization/
Dans cet exemple, il y a plusieurs objets à l'intérieur d'un tableau json. C'est,
C'est le tableau json: [{"name":"nom1","url":"url1"},{"name":"nom2","url":"url2"},...]
C'est un objet: {"nom":"nom1","url":"url1"}
En supposant que vous avez obtenu le résultat à une variable Chaîne de caractères appelée jSonResultString:
@Stebra Voir cet exemple. Cela peut vous aider.
Et quand vous obtenez le résultat; analyser comme ce
Quelques excellentes suggestions sont déjà mentionnés.
À l'aide de GSON est très pratique, en effet, et pour rendre la vie encore plus facile, vous pouvez essayer ce site web
Il est appelé jsonschema2pojo et c'est exactement ce que:
Vous donner à vos json et génère un objet java qui peut coller dans votre projet.
Vous pouvez sélectionner GSON pour annoter vos variables, de sorte que l'extraction de l'objet à partir de votre json devient encore plus facile!
Mon cas
La Charge De Serveur Exemple..
Espoir aide
Créer un POJO Java de la Classe pour les objets dans la liste comme suit:
Maintenant, il suffit de créer une Liste de NameUrlClass et initialiser une liste de tableaux comme suit:
Vous pouvez utiliser, stocker le tableau JSON dans cet objet
obj = JSONArray;
est censé faire. Qu'est-ce queJSONArray
dans ce contexte? D'où vient-elle? Quel est le but de l'initialisation deobj
avec unnew ArrayList<NameUrlClass>
, quand vous le remplacer directement par la suite, de toute façon?Vieux post, je sais, mais à moins que j'ai mal compris la question, cela devrait faire l'affaire:
}