Gson解析json字符串、json數組轉換成對象


實體類:

public class Product {
private int id;
private String name;
private String date;
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getDate() {
return date;
}
public void setDate(String date) {
this.date = date;
}
}

 

方法:

public static void main(String[] args) throws IOException, Exception {


//json格式的字符串裝換成對象
Gson gson = new Gson();//new一個Gson對象
//json字符串
String json = "{\"name\":\"xiaomi\",\"id\":123456,\"date\":\"2013-4-13 12:36:54\"}";
//new 一個Product對象
Product product = new Product();
//將一個json字符串轉換為java對象
product = gson.fromJson(json, Product.class);
//輸出
System.out.println("Name:" + product.getName());
System.out.println("Id:" + product.getId());
System.out.println("Date:" + product.getDate());

 

 

//json格式的數組裝換成對象
//String str = "[{'name':'kevin','age':25},{'name':'cissy','age':24}]";
String str = "[{\"name\":\"array\",\"id\":123456,\"date\":\"2013-4-13 12:36:54\"},{\"name\":\"tom\",\"id\":123,\"date\":\"2013-4-13 12:36:54\"}]";
//創建一個Gson對象
Gson gson = new Gson();
//創建一個JsonParser
JsonParser parser = new JsonParser();
//通過JsonParser對象可以把json格式的字符串解析成一個JsonElement對象
JsonElement el = parser.parse(str);

//把JsonElement對象轉換成JsonArray
JsonArray jsonArray = null;
if(el.isJsonArray()){
jsonArray = el.getAsJsonArray();
}

System.out.println(jsonArray);

//遍歷JsonArray對象
Product product = null;
Iterator it = jsonArray.iterator();
while(it.hasNext()){
JsonElement e = (JsonElement)it.next();
//JsonElement轉換為JavaBean對象
product = gson.fromJson(e, Product.class);

System.out.println("Name:" + product.getName());
System.out.println("Id:" + product.getId());
System.out.println("Date:" + product.getDate());
}

 

 

}


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM