Saya melihat Google Gson sebagai plugin JSON potensial. Adakah yang bisa menawarkan beberapa bentuk panduan tentang bagaimana saya dapat menghasilkan Java dari string JSON ini?
Google Gson mendukung obat generik dan kacang bersarang. Dalam []
JSON mewakili array dan harus memetakan ke koleksi Java seperti List
atau hanya array Java biasa. Dalam {}
JSON mewakili objek dan harus memetakan ke Jawa Map
atau hanya beberapa kelas JavaBean.
Anda memiliki objek JSON dengan beberapa properti yang groups
propertinya mewakili array objek bersarang dengan tipe yang sama. Ini dapat diuraikan dengan Gson dengan cara berikut:
package com.stackoverflow.q1688099;
import java.util.List;
import com.google.gson.Gson;
public class Test {
public static void main(String... args) throws Exception {
String json =
"{"
+ "'title': 'Computing and Information systems',"
+ "'id' : 1,"
+ "'children' : 'true',"
+ "'groups' : [{"
+ "'title' : 'Level one CIS',"
+ "'id' : 2,"
+ "'children' : 'true',"
+ "'groups' : [{"
+ "'title' : 'Intro To Computing and Internet',"
+ "'id' : 3,"
+ "'children': 'false',"
+ "'groups':[]"
+ "}]"
+ "}]"
+ "}";
// Now do the magic.
Data data = new Gson().fromJson(json, Data.class);
// Show it.
System.out.println(data);
}
}
class Data {
private String title;
private Long id;
private Boolean children;
private List<Data> groups;
public String getTitle() { return title; }
public Long getId() { return id; }
public Boolean getChildren() { return children; }
public List<Data> getGroups() { return groups; }
public void setTitle(String title) { this.title = title; }
public void setId(Long id) { this.id = id; }
public void setChildren(Boolean children) { this.children = children; }
public void setGroups(List<Data> groups) { this.groups = groups; }
public String toString() {
return String.format("title:%s,id:%d,children:%s,groups:%s", title, id, children, groups);
}
}
Cukup sederhana, bukan? Hanya memiliki JavaBean yang cocok dan panggilan Gson#fromJson()
.
Lihat juga: