Json的主要格式是
{
"name":"张三",
"age":"18"
}
在java中,没有内置的Json解析,所以我们使用借助第三方类库,这里重点介绍一下两个解析Json的类库。
Gson: 谷歌开发的 JSON 库,功能十分全面。
下载地址:https://github.com/google/gson
FastJson: 阿里巴巴开发的 JSON 库,性能十分优秀。
下载地址:https://github.com/alibaba/fastjson/
导入jar包:https://jingyan.baidu.com/article/0f5fb0993e9e1f6d8334ead2.html
一 、Gson1.将对象转为json格式:
import com.google.gson.Gson;
public class Demo1 {
public static void main(String[] args) {
Book b1 = new Book("001","book_name01","this is book1");
// 1. 创建Gson对象
Gson g = new Gson();
//2. 转换
String res = g.toJson(b1);
//3.
System.out.println(res);
}
}
输出结果为:
{"id":"001","name":"book_name01","info":"this is book1"}
2.将json格式转为对象:
fromJson(参数1,参数2)
参数1为Json, 参数2为需要转换的类型
import com.google.gson.Gson;
public class Demo1 {
public static void main(String[] args) {
Book b1 = new Book("001","book_name01","this is book1");
// 1. 创建Gson对象
Gson g = new Gson();
//2. 转换 {"id":"001","name":"book_name01","info":"this is book1"}
Book res = g.fromJson("{"id":"001","name":"book_name01","info":"this is book1"}",Book.class);
//3.
System.out.println(res.getId());
}
}
结果为
001二 、FastJson
1.将对象转为json格式:
import com.alibaba.fastjson.JSON;
public class Demo2 {
public static void main(String[] args) {
Book b2 = new Book("002","book_name02","this is book2");
// 1. 转换
String res = JSON.toJSonString(b2);
System.out.println(res);
}
}
结果为:
{"id":"002","info":"this is book2","name":"book_name02"}
2.将json格式转为对象:
JSON.parseObject(参数1,参数2)
参数1为Json, 参数2为需要转换的类型
import com.alibaba.fastjson.JSON;
public class Demo2 {
public static void main(String[] args) {
Book b2 = new Book("002","book_name02","this is book2");
// 1. 转换
// String res = JSON.toJSonString(b2);
// System.out.println(res);
// json 转为对象
Book res = JSON.parseObject("{"id":"002","info":"this is book2","name":"book_name02"}",Book.class);
System.out.println(res.getId());
}
}
结果为
002



