Maison >Java >javaDidacticiel >Comment extraire des valeurs spécifiques des données JSON imbriquées à l'aide de Google Gson en Java ?

Comment extraire des valeurs spécifiques des données JSON imbriquées à l'aide de Google Gson en Java ?

Mary-Kate Olsen
Mary-Kate Olsenoriginal
2024-12-17 22:59:11837parcourir

How to Extract Specific Values from Nested JSON Data using Google Gson in Java?

Analyse des données JSON avec Google Gson en Java

Problème :

Étant donné une chaîne JSON contenant des objets et des tableaux imbriqués, comment pouvons-nous en extraire une valeur spécifique à l'aide de Google Gson ?

Solution :

1. Créez un analyseur Gson :

JsonParser parser = new JsonParser();

2. Analyser la chaîne JSON :

JsonElement element = parser.parse(jsonLine);

3. Parcourez la structure JSON :

À l'aide de getAsJsonElement, getAsJsonObject et getAsJsonArray, naviguez dans la structure JSON pour atteindre la valeur cible :

JsonObject dataObject = element.getAsJsonObject().get("data").getAsJsonObject();
JsonArray translationsArray = dataObject.get("translations").getAsJsonArray();

4. Extraire la valeur cible :

Une fois sur l'objet souhaité, récupérez la valeur spécifique à l'aide de get et getAsString :

String translatedText = translationsArray.get(0).getAsJsonObject().get("translatedText").getAsString();

Exemple de code :

En fonction de la ligne et de la classe JSON fournies, voici comment analyser le fichier souhaité value :

public String parse(String jsonLine) {
    JsonElement element = new JsonParser().parse(jsonLine);
    JsonObject translationsObject = element.getAsJsonObject().get("data").getAsJsonObject().get("translations").getAsJsonArray().get(0).getAsJsonObject();
    String translatedText = translationsObject.get("translatedText").getAsString();
    return translatedText;
}

N'oubliez pas de gérer les exceptions potentielles et les valeurs nulles si nécessaire, et adaptez le code à votre structure JSON spécifique.

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