前边的博客说过将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