JSON:JavaScript Object Notation JS对象简谱 , 是一种轻量级的数据交换格式.
用处:
- 将Java中的对象 快速的转换为 JSON格式的字符串.
- 将JSON格式的字符串, 转换为Java的对象.
优势:
- 具有良好的可读和便于快速编写的特性。
- 业内主流技术为其提供了完整的解决方案(有点类似于正则表达式 ,获得了当今大部分语言的支持)
- JSON采用兼容性很高的文本格式,同时也具备类似于C语言体系的行为。
- JSON作为数据是目前网络中主流的数据传输格式之一,应用十分广泛,说是使用率达到99%一点也不勉强
数据类型:
嵌套对象、数组、字符串、数字、布尔值或空值。
格式:
- 键与值之间使用冒号连接, 多个键值对之间使用逗号分隔.
- 键值对的键,应使用引号引住 (通常Java解析时, 键不使用引号会报错. 而JS能正确解析.)
- 键值对的值, 可以是JS中的任意类型的数据
例如:
{
"name":"张三",
"age":18,
"friend":["李四","麻子",{
"name":"王二",
"info":"一张麻子脸"
}],
"sport":{
"name":"basketball",
"info":"nike"
}
}
Gson(谷歌)
- 换JSON字符串的步骤:
- 引入JAR包
- 在需要转换JSON字符串的位置编写如下代码即可:
String json = new Gson().toJSON(要转换的对象);
案例:
`
Book b = BookDao.find();
String json = new Gson().toJson(b);
System.out.println(json);`
- 将JSON字符串转换为对象
- 引入JAR包
- 在需要转换Java对象的位置, 编写如下代码:
对象 = new Gson().fromJson(JSON字符串,对象类型.class);
案例:
String json = "{\"id\":1,\"name\":\"金苹果\",\"author\":\"李伟杰 \"}";
Book book = new Gson().fromJson(json, Book.class);
System.out.println(book);
FastJson(阿里巴巴)
- 将对象转换JSON字符串的步骤:
- 引入JAR包
- 在需要转换JSON字符串的位置编写如下代码即可:
`String json=JSON.toJSONString(要转换的对象);`
案例:
`Book b = BookDao.find();
String json=JSON.toJSONString(b);
System.out.println(json);`
- 将JSON字符串转换为对象
- 引入JAR包
- 在需要转换Java对象的位置, 编写如下代码:
类型 对象名=JSON.parseObject(JSON字符串, 类型.class);
或
List<类型> list=JSON.parseArray(JSON字符串,类型.class);
案例:
String json = "{\"id\":1,\"name\":\"金苹果\",\"author\":\"李伟杰 \"}";
Book book = JSON.parseObject(json, Book.class);
System.out.println(book);