使用Gson解析json
前边的博客说过将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
使用Gson解析json的更多相关文章
- 大话JSON之Gson解析JSON
(三)解析Json数组(多条Json数据) 比如有如下Json数据: [{'name':'John', 'grade':[{'course':'English','score':100},{'cour ...
- Android中使用Gson解析JSON数据的两种方法
Json是一种类似于XML的通用数据交换格式,具有比XML更高的传输效率;本文将介绍两种方法解析JSON数据,需要的朋友可以参考下 Json是一种类似于XML的通用数据交换格式,具有比XML更高的 ...
- Android网络之数据解析----使用Google Gson解析Json数据
[声明] 欢迎转载,但请保留文章原始出处→_→ 生命壹号:http://www.cnblogs.com/smyhvae/ 文章来源:http://www.cnblogs.com/smyhvae/p/4 ...
- Google Gson解析Json数据应用实例
转自:http://lixigao449778967.blog.163.com/blog/static/24985164201269105928783/ 1.需要的Jar包 1) Google Gso ...
- Android--------使用gson解析json文件
##使用gson解析json文件 **json的格式有两种:** **1. {}类型,及数据用{}包含:** **2. []类型,即数据用[]包含:** 下面用个例子,简单的介绍gson如何解析jso ...
- 【Android进阶】Gson解析json字符串的简单应用
在客户端与服务器之间进行数据传输,一般采用两种数据格式,一种是xml,一种是json.这两种数据交换形式各有千秋,比如使用json数据格式,数据量会比较小,传输速度快,放便解析,而采用xml数据格式, ...
- 我的Android进阶之旅------>解决Jackson、Gson解析Json数据时,Json数据中的Key为Java关键字时解析为null的问题
1.问题描述 首先,需要解析的Json数据类似于下面的格式,但是包含了Java关键字abstract: { ret: 0, msg: "normal return.", news: ...
- $Java-json系列(一):用GSON解析Json格式数据
GSON是谷歌提供的开源库,用来解析Json格式的数据,非常好用.如果要使用GSON的话,则要先下载gson-2.2.4.jar这个文件,如果是在Android项目中使用,则在Android项目的li ...
- Android中使用Gson解析JSON数据
Android中使用Gson解析JSON数据 在Android中可以使用Gson解析JSON数据 首先,从 code.google.com/p/google-gson/downloads/list ...
随机推荐
- JS跨域解决iframe高度自适应(IE8/Firefox/Chrome适用)
参考园友的js跨越实现,有提到三种方式: 1. 中间页代理方式,利用iframe的location.hash 参见:http://www.5icool.org/a/201203/a1129.html ...
- Laravel项目目录结构说明
Laravel项目目录结构说明: |- vendor 目录包含你的 Composer 依赖模块及laravel框架. |- bootstrap 目录包含几个框架启动跟自动加载配置的文件. |- app ...
- undefined reference to `_init'问题解决
今天利用CDT 的eclipse调试程序,遇到下面的问题: d:/plugin/bin/../lib/gcc/arm-none-eabi/4.8.4/../../../../arm-none-eabi ...
- Configure PPPoE on CentOS7
Why? I prefer using ethernet to Wifi to access internet. But, I'm afraid, sometimes I have to use Wi ...
- http 301 和 302 的区别!
1.什么是301转向?什么是301重定向? 301转向(或叫301重定向,301跳转)是当用户或搜索引擎向网站服务器发出浏览请求时,服务器返回的HTTP数据流中头信息(header)中的状态码的一种, ...
- centos6.5 安装mysql 的过程
Linux中使用最广泛的数据库就是MySQL,使用在线yum的方式安装的版本落后MySQL网站好几个小版本, 所以折腾了几个星期,终于在CentOS 装好了mysql5.6,装完之后,对整个linux ...
- Django 之 查看执行的sql语句
前提: 我的app名称为core,models.py内容如下: # coding:utf-8 from django.db import models # Create your models her ...
- javascript type操作
var a; type a;//结果为undefined type b;//结果也是undefinedalert(a);//弹出undefinedalert(b);//错误代码 上述代码,type ...
- Unity3D 事件
unity3d事件函数整理,事件,回调函数,消息处理 Unity3D中所有控制脚本的基类MonoBehaviour有一些虚函数用于绘制中事件的回调,也可以直接理解为事件函数,例如大家都很清楚的Star ...
- XE6 & IOS开发之开发者账号、苹果证书(1):关于开发者账号
网上能找到的关于Delphi XE系列的移动开发的相关文章甚少,本文尽量以详细的图文内容.傻瓜式的表达来告诉你想要的答案. 原创作品,请尊重作者劳动成果,转载请注明出处!!! 关于苹果开发者账号, 注 ...