前邊的博客說過將json解析成java的方法,使用的是

這幾個jar包,但是在解析時層遇到一個問題,就是在將時間字符串轉換為java的Timestamp對象時會拋出異常,這個問題一直放在哪里沒有去解決,前兩天突然想起來,就去網上找些解決方法,找了很長時間也沒有一個完美的解決辦法,不是看着復雜就是不能實現,最后我發現有人說用google的Gson解析json挺方便的,於是我就嘗試用Gson解析json,試了一下果然挺好用的,問題很快就解決了。
這里就以一個簡單的例子來說明下吧。
這是一個java Bean
package baz.javabean;
import java.sql.Timestamp;
public class Product {
private String name;
private int id;
private Timestamp date;
public Product() {
// TODO Auto-generated constructor stub
}
public Product(String name, int id, Timestamp date) {
super();
this.name = name;
this.id = id;
this.date = date;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
public Timestamp getDate() {
return date;
}
public void setDate(Timestamp date) {
this.date = date;
}
}
下邊是一個Test類
package baz.test;
import baz.javabean.Product;
import com.google.gson.Gson;
public class Test1 {
/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
Gson gson = new Gson();//new一個Gson對象
//json字符串
String json = "{\"name\":\"guolicheng\",\"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());
}
}
輸出結果為:
Name:guolicheng
Id:123456
Date:2013-04-13 12:36:54.0
看很簡單吧。
使用到的jar包,可以到這里下載http://pan.baidu.com/share/link?shareid=440391&uk=3457081238
或者到官網下載
至於更深入些的介紹,請看下這幾篇博客吧。
Gson使用 http://www.360doc.com/content/11/0309/16/1332348_99601000.shtml
Gson學習筆記http://www.360doc.com/content/11/0111/14/1332348_85735384.shtml
Json數據解析http://www.360doc.com/content/12/0903/10/7662927_233881217.shtml
Gson使用在android中的例子http://www.360doc.com/content/11/0815/14/7322578_140545909.shtml
