Json解析目前国内主要使用两种方法,一种是阿里的fastJson,另一种是谷歌的Gson。两种方法各有千秋,使用方法也非常接近。
一、使用谷歌的Gson解析
主要方法是Gson()和toJson()
1、转为Json对象
利用Book 类演示,包含id、name、info三个属性
//创建Gson对象:使用Gson()
Gson g = new Gson();
//将java对象转换为json对象并输出
Book b = new Book("100","西游记","唐僧取经的故事");
String s = g.toJson(b);
System.out.println(s);
2、转换为java对象
//创建Gson对象:使用Gson()
Gson g = new Gson();
//将json对象转换为java对象
Book c = g.fromJson("{"id":"100","name":"西游记","info":"唐僧取经的故事"}",Book.class);
System.out.println(c.getId());
3、转换为集合对象
//创建Gson对象:使用Gson()
Gson g = new Gson();
//将json对象转换为集合对象;map类型
HashMap data = g.fromJson("{"id":"100","name":"西游记","info":"种植苹果的故事"}",HashMap.class);
System.out.println(data.get("id"));
4、数组转换:
//创建Gson对象:使用Gson()
Gson g = new Gson();
//数组转换
HashMap data2 = g.fromJson(" {"id":"100","name":"金苹果","info":"种植苹果的故事","page":["危楼高百尺","手可摘星辰","不敢高声语","恐惊天上人"]}",HashMap.class);
System.out.println(data2.get("page"));//此处打印的实际上是一个ArrayList
List page = (List) data2.get("page");
System.out.println(page.get(1));
二、使用阿里的fastJson解析
1、java对象转换为json对象
Book book = new Book("1002","唐诗三百首","远看山有色,近听水无声,春去花还在,人来鸟不惊");
String json = JSON.toJSonString(book);
System.out.println(json);
2、Json对象转换为java对象
Book b = JSON.parseObject("{"id":"1002","info":"远看山有色,近听水无声,春去花还在,人来鸟不惊","name":"唐诗三百首"}",Book.class);
System.out.println(b.getId());
3、转换数组 ["你好吗","我很好","我也很好"]
Listhello = JSON.parseArray("["你好吗","我很好","我也很好"]",String.class); System.out.println(hello.get(1));



