色婷婷狠狠18禁久久YY,CHINESE性内射高清国产,国产女人18毛片水真多1,国产AV在线观看

gson 解析json為對象

李中冰2年前10瀏覽0評論

Gson是Google推出的一個Java庫,用于解析JSON格式的數(shù)據(jù)。通過使用Gson,Java程序可以將JSON數(shù)據(jù)轉(zhuǎn)換為對象,從而實現(xiàn)方便的數(shù)據(jù)讀取和操作。

Gson提供了多種方法來解析JSON數(shù)據(jù)。其中最常用的是通過fromJson()方法將JSON數(shù)據(jù)轉(zhuǎn)換為Java對象。使用時需要定義一個Java類來表示JSON數(shù)據(jù)的結構(字段名和數(shù)據(jù)類型)。然后調(diào)用Gson的fromJson()方法,將JSON字符串和Java類類型作為參數(shù)傳入即可。

// 定義JSON數(shù)據(jù)結構對應的Java類
class Person {
String name;
int age;
boolean isMale;
}
// JSON字符串
String jsonString = "{ \"name\": \"Tom\", \"age\": 20, \"isMale\": true }";
// 解析JSON字符串
Gson gson = new Gson();
Person person = gson.fromJson(jsonString, Person.class);

如果JSON數(shù)據(jù)比較復雜,可以使用Gson提供的JsonReader類來逐個讀取JSON數(shù)據(jù)。JsonReader類提供了多種方法來讀取JSON數(shù)據(jù),例如beginObject()、nextName()、beginArray()、nextInt()等。通過這些方法,可以解析任意復雜的JSON數(shù)據(jù)。

// 讀取包含多個Person對象的JSON數(shù)據(jù)
String jsonString = "{ \"persons\": [{ \"name\": \"Tom\", \"age\": 20, \"isMale\": true }, { \"name\": \"John\", \"age\": 25, \"isMale\": true }] }"; 
// 解析JSON數(shù)據(jù)
Gson gson = new Gson();
JsonReader reader = new JsonReader(new StringReader(jsonString));
reader.beginObject();
while (reader.hasNext()) {
String name = reader.nextName();
if (name.equals("persons")) {
reader.beginArray();
while (reader.hasNext()) {
Person person = gson.fromJson(reader, Person.class);
System.out.println(person.name + " " + person.age + " " + person.isMale);
}
reader.endArray();
}
}
reader.endObject();

總之,使用Gson解析JSON數(shù)據(jù)十分方便和靈活,可以根據(jù)不同的需求選擇不同的方法進行解析。