Maison >Java >javaDidacticiel >Comment analyser des tableaux JSON avec Gson : une solution simple ?

Comment analyser des tableaux JSON avec Gson : une solution simple ?

Linda Hamilton
Linda Hamiltonoriginal
2024-11-04 02:00:29651parcourir

How to Parse JSON Arrays with Gson: A Simple Solution?

Analyse des tableaux JSON avec Gson

Étant donné une réponse JSON contenant un tableau d'objets, la tâche consiste à l'analyser à l'aide de Gson. La sortie JSON fournie ressemble à un tableau d'objets avec des propriétés telles que « id » et « title ».

Approche initiale

La tentative initiale impliquait la création d'une classe PostEntity qui encapsule une ArrayList d’objets Post. Cependant, cette approche n'a donné aucun résultat, n'enregistrant aucune erreur ni avertissement.

La solution

Pour analyser efficacement le JSONArray, il n'est pas nécessaire d'envelopper le Post classe dans une autre classe comme PostEntity. De plus, l'étape intermédiaire de conversion de la chaîne JSON en JSONObject est redondante.

Voici le code corrigé :

<code class="java">Gson gson = new Gson();
String jsonOutput = "Your JSON String";
Type listType = new TypeToken<List<Post>>() {
}.getType();
List<Post> posts = gson.fromJson(jsonOutput, listType);</code>

Explication

Le La classe TypeToken est utilisée pour spécifier le type souhaité de l'objet analysé. Dans ce cas, le type est une liste d’objets Post. L'instance Gson est ensuite utilisée pour analyser la chaîne JSON et la désérialiser dans le type spécifié.

En utilisant cette approche, vous pouvez analyser directement le JSONArray et accéder aux objets Post individuels dans le tableau.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn