赞
踩
@[TOC] 目录
JSON: JavaScript Object Notation JS对象简谱 , 是一种轻量级的数据交换格式。
简单来说就是:
{
"name":"士成历险记",
"directory":["最初的旅人","风与诗的篇章","璃月与人的篇章","永恒的国度",{
"name":"起点亦是终点",
"info":"再见了,异乡人",
}],
"new":{
"name":"123",
"info":"456",
}
}
其实JSON数据就是一段字符串,只不过用了许多分隔符将其分隔开来了
当前市面上最常用的两种解析方法,一种是Gson,还有一种是FastJson,虽然不多,但平时开发已经够用了。
由于我用的是IEDA解析的,所以再此之前我们需要导包。
Gson链接:https://search.maven.org/artifact/com.google.code.gson/gson/2.8.9/jar
FastJson链接:
https://repo1.maven.org/maven2/com/alibaba/fastjson/
这样我们就算是导包完成了,下面就可以进行解析了。
public static void main(String[] args){
//1.创建一个book对象,并传入值
Book b = new Book(1001,"唐诗三百首","有300首诗篇");
//2.创建Gson对象
Gson g = new Gson();
//3.转换
String s = g.toJson(b);
System.out.println(s);
}
打印效果:
public static void main(String[] args){
//1.首先还是创建一个Gson对象
Gson g = new Gson();
//2.转换(输入你要转换的JSON字符串,并输入你要转换成的类)
Book b = g.fromJson("{\"id\":1001,\"name\":\"唐诗三百首\",\"info\":\"有300首诗篇\"}", Book.class);
//3.因为我这里转换成了Book类,所以我们来调用看看是否成功了
System.out.println(b.getId());
}
打印效果:
可以看到获取到的id的确是1001。
public static void main(String[] args){
//1.创建一个Map集合
HashMap map = new HashMap();
map.put("1001","一二三");
map.put("1002","二三四");
map.put("1003","三四五");
//2.创建一个Gson对象
Gson g = new Gson();
//3.将map集合转换为JSON字符串
String s = g.toJson(map);
System.out.println(s);
}
打印效果:
public static void main(String[] args){
Book b = new Book(1002,"静夜思","床前明月光");
//1.转换
String s = JSON.toJSONString(b);
System.out.println(s);
}
打印效果:
public static void main(String[] args){
Book book = JSON.parseObject("{\"id\":1002,\"info\":\"床前明月光\",\"name\":\"静夜思\"}", Book.class);
System.out.println(book.getId());
}
打印效果:
public static void main(String[] args){
List<String> list = JSON.parseArray("[\"一二三\",\"二三四\",\"三四五\"]",String.class);
System.out.println(list.get(0));
}
打印效果:
以上就介绍了最普遍的两种解析JSON的方法,在开发的时候如果想确保数据的正确,又要确保性能,则可以两个一起用,即使用Gson将bean转换json确保数据的正确,使用FastJson将Json转换Bean。兼顾性能和准确性。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。