public class ParseJson {
String json1 = "{\"name\":\"gaofeng\",\"age\":\"20\"}";
String json2 = "{\"total\":\"100\",\"rows\":[{\"name\":\"張三\",\"age\":\"20\"},{\"name\":\"李四\",\"age\":\"22\"}]}";
/**
* ParseJson類介紹如何解析不同類型的json格式的數據
* test1格式比較簡單
* test2格式稍微複雜點
* */
@Test
public void test1() {
// 需要解析的json數據
System.out.println("json1:" + json1);
Gson gson = new Gson();
rows json_data=gson.fromJson(json1, rows.class);
System.out.println("Age:"+json_data.getAge()+" Name:"+json_data.getName());
System.out.println("~~~~~~~~~~~~~~~~");
}
@Test
public void test2() {
// 需要解析的json數據
System.out.println("json2:" + json2);
Type type = new TypeToken<mess>() {}.getType();
Gson gson = new Gson();
mess mess_info = gson.fromJson(json2, type);
System.out.println("total:"+mess_info.getTotal());
System.out.println("rows的值:"+mess_info.getRows().size());
for (int i = 0; i < mess_info.getRows().size(); i++) {
System.out.println("第"+(i+1)+"輪:");
System.out.println("Name:" + mess_info.getRows().get(i).getName()+" Age:" + mess_info.getRows().get(i).getAge());
}
}
}
映射對象類:
<span style="font-size:14px;">public class mess {
private int total;
private List<rows> rows;
public int getTotal() {
return total;
}
public void setTotal(int total) {
this.total = total;
}
public List<rows> getRows() {
return rows;
}
public void setRows(List<rows> rows) {
this.rows = rows;
}
}</span>
public class rows {
private String name;
private int age;
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
}
輸出的結果:
json1:{"name":"gaofeng","age":"20"}
Age:20 Name:gaofeng
~~~~~~~~~~~~~~~~
json2:{"total":"100","rows":[{"name":"張三","age":"20"},{"name":"李四","age":"22"}]}
total:100
rows的值:2
第1輪:
Name:張三 Age:20
第2輪:
Name:李四 Age:22