- 格式
- 对象
- 数组
- JSON解析
- Gson(谷歌的,推荐)
- FastJson(阿里的)
格式 对象JSON: 一种轻量级数据交换格式
{
"属性名1":"属性值1",
"属性名2":"属性值2",
"属性名3":"属性值3"
}
数组注意:属性值可以是 JS( Javascript ) 中的任意类型的数据
[元素1,元素2...]
在JSON格式中可以与对象互相嵌套
{
"name":"XXX",
"age":18,
"pengyou":["xx","xx","xx","xx",{
"name":"xx",
"info":"xxxxx"
}],
"summit":{
"name":"xxxx",
"length":"6688km"
}
}
JSON解析
关注这样两个问题:
- 将Java中的对象 快速的转换为 JSON格式的字符串.
- 将JSON格式的字符串, 转换为Java的对象.
Gson(谷歌的,推荐)注意:JAVA官方无,所以要引入JAR包。下面这两个都是开源的库,是最常用的,但可能有安全漏洞,要时刻关注新版本。
- 将对象转换为JSON字符串
在需要转换JSON字符串的位置写:
String json = new Gson().toJSON(要转换的对象);
Book b = BookDao.find(); String json = new Gson().toJson(b); System.out.println(json);
- 将JSON字符串转换为对象
在需要转换Java对象的位置写:
对象 = new Gson().fromJson(JSON字符串,对象类型.class);
String json = "{"id":1,"name":"xxx","author":"XXX","info":"嘿嘿嘿嘿嘿嘿","price":198.0}";
Book book = new Gson().fromJson(json, Book.class);
System.out.println(book);
FastJson(阿里的)
- 将对象转换为JSON字符串
在需要转换JSON字符串的位置写
String json=JSON.toJSonString(要转换的对象);
Book b = BookDao.find(); String json=JSON.toJSONString(b); System.out.println(json);
- 将JSON字符串转换为对象
在需要转换Java对象的位置写
类型 对象名=JSON.parseObject(JSON字符串, 类型.class);
或
List<类型> list=JSON.parseArray(JSON字符串,类型.class);
String json = "{"id":1,"name":"xxx","author":"XXX","info":"xxxxxx","price":198.0}";
Book book = JSON.parseObject(json, Book.class);
System.out.println(book);



