Json解析

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、转换数组 ["你好吗","我很好","我也很好"]
List<String> hello = JSON.parseArray("[\"你好吗\",\"我很好\",\"我也很好\"]",String.class);
System.out.println(hello.get(1));

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值