JSON
JSON是JavaScript Object Notation的缩写,它去除了所有JavaScript执行代码,只保留JavaScript的对象格式。
JSON有两种格式,其可以相互嵌套使用,其支持JS中任意数据类型:
1. 对象格式 {"key1":obj,"key2":obj,"key3":obj...}
2. 数组格式 [obj,obj,obj...]
{
"name":"金苹果",
"info":"种金苹果",
"tags":["apple","planting",{
"name":"姓名",
"info":"信息"
}]
}
JSON作为数据传输的格式,有几个显著的优点:
JSON只允许使用UTF-8编码,不存在编码问题;
JSON只允许使用双引号作为key,特殊字符用\转义,格式简单;
浏览器内置JSON支持,如果把数据用JSON发送给浏览器,可以用JavaScript直接处理。
JSON解析
常用的用于解析JSON的第三方库有:Gson,FastJson等。
Gson
- 将对象转化为JSON字符串
转换JSON字符串的步骤:
1. 引入JAR包
2. 在需要转换JSON字符串的位置编写如下代码即可:
String json = new Gson().toJSON(要转换的对象);
example:
Book b = BookDao.find();
String json = new Gson().toJson(b);
System.out.println(json);
- 将JSON字符串转换为对象
转化为对象的步骤:
1. 引入JAR包
2. 在需要转换Java对象的位置, 编写如下代码:
对象 = new Gson().fromJson(JSON字符串,对象类型.class);
example:
String json = "{\"id\":1,\"name\":\"金苹果\",\"author\":\"Elitor \",\"info\":\"种苹果\",\"price\":198.0}";
Book book = new Gson().fromJson(json, Book.class);
System.out.println(book);
FastJson
- 将对象转化为JSON字符串
转换JSON字符串的步骤:
1. 引入JAR包
2. 在需要转换JSON字符串的位置编写如下代码即可:
String json = JSON.toJSONString(要转换的对象);
example:
Book b = BookDao.find();
String json = JSON.toJSONString(b);
System.out.println(json);
- 将JSON字符串转换为对象
转化为对象的步骤:
1. 引入JAR包
2. 在需要转换Java对象的位置, 编写如下代码:
类型 对象名=JSON.parseObject(JSON字符串, 类型.class);
或
List<类型> list=JSON.parseArray(JSON字符串,类型.class);
example:
String json = "{\"id\":1,\"name\":\"金苹果\",\"author\":\"Elitor \",\"info\":\"种苹果\",\"price\":198.0}";
Book book = JSON.parseObject(json, Book.class);
System.out.println(book);