Maison >Java >javaDidacticiel >Comment analyser JSON en modèle d'arborescence Gson en Java ?

Comment analyser JSON en modèle d'arborescence Gson en Java ?

PHPz
PHPzavant
2023-08-27 17:25:05660parcourir

La

Comment analyser JSON en modèle darborescence Gson en Java ?

La bibliothèque Gson peut être utilisée pour analyser les chaînes JSON en modèles d'arbre . Nous pouvons utiliser JsonParser pour analyser une chaîne JSON dans un modèle d'arbre de type JsonElement. La méthode getAsJsonObject() de JsonElement peut être utilisée pour obtenir JsonObject et la méthode getAsJsonArray() JsonElement peut être utilisée pour obtenir des éléments sous la forme de JsonArray.

Syntaxe

public JsonObject getAsJsonObject()
public JsonArray getAsJsonArray()

Exemple

import java.util.List;
import com.google.gson.*;
public class JsonTreeModelTest {
   public static void main(String args[]){
      String jsonStr = "{\"name\":\"Adithya\",\"age\":20,\"year of passout\":2005,\"subjects\": [\"MATHEMATICS\",\"PHYSICS\",\"CHEMISTRY\"]}";
      JsonParser jsonParser = new JsonParser();
      JsonElement jsonElement = jsonParser.parse(jsonStr);
      if(jsonElement.isJsonObject()) {
         JsonObject studentObj = jsonElement.getAsJsonObject();
         System.out.println("Student Info:");
         System.out.println("Name is: " + studentObj.get("name"));
         System.out.println("Age is: " + studentObj.get("age"));
         System.out.println("Year of Passout: " + studentObj.get("year of passout"));
         JsonArray jsonArray = studentObj.getAsJsonArray("subjects");
         System.out.println("Subjects:" + jsonArray);
      }
   }
}
// Student class<strong>
</strong>class Student {
   private String name;
   private int age;
   private int passoutYear;
   private List subjects;
   public Student(String name, int age, int passoutYear, List subjects) {
      this.name = name;
      this.age = age;
      this.passoutYear = passoutYear;
      this.subjects = subjects;
   }
   @Override
   public String toString() {
      return "Student{" +
             "name=&#39;" + name + &#39;\&#39;&#39; +
             ", age=&#39;" + age + &#39;\&#39;&#39; +
             ", year of passout=" + passoutYear +
             ", subjects=" + subjects +
             &#39;}&#39;;
   }
}

Sortie

Student Info:
Name is: "Adithya"
Age is: 20
Year of Passout: 2005
Subjects:["MATHEMATICS","PHYSICS","CHEMISTRY"]

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:
Cet article est reproduit dans:. en cas de violation, veuillez contacter admin@php.cn Supprimer