JSON: JavaScript Object Notation JS
对象简谱
,
是一种轻量级的数据交换格式。
java与josn
做什么
?
将
Java
中的对象 快速的转换为
JSON
格式的字符串
.
将
JSON
格式的字符串
,
转换为
Java
的对象
.
json语法规则:
json:
{
"name":"金苹果",
"info":"种苹果",
"pengyou":["张三","李四","王二","麻子",{
"name":"野马老师",
"info":"像匹野马一样狂奔在技术钻研的道路上"
}]
}
一个对象(0bject), 由一个大括号({})表示,大括号中,描述对象的属性;
通过键值对来描述对象的属性 (可以理解为, 大括号中, 包含的是一个个的键值对.)
数组格式:
在JSON格式中可以与对象互相嵌套 [元素1,元素2...]
格式:
1、键与值之间使用冒号连接, 多个键值对之间使用逗号分隔.
2、键值对的键 应使用引号引住 (通常Java解析时, 键不使用引号会报错. 而JS能正确解析.)
3、键值对的值, 可以是JS中的任意类型的数据
Gson的JSON操作:
将对象转换为JSON字符串的步骤:
1.引入gson.jar包
2.创建Gson对象
3.转换JSON格式 调用gson.toJson(要转换的对象);
案例:
Gson gson = new Gson();
Book b = BookDao.find();
String json = gson.toJson(b);
System.out.println(json);
将JSON字符串转换为对象
1. 引入gson.jar包
2.创建Gson对象
3.转换Java对象: 类型 对象 = gson.fromJson(JSON字符串,对象类型.class);
案例:
Gson gson = new Gson();
String json = "{\"name\":\"白雪公主\",\"info\":\"讲述的是白雪公主与七个小矮人的故事\",\"id\":\"1001\"}";
Book book = gson.fromJson(json,Book.class);
System.out.println(book);
注意:
JOSB数组转换为对象是一个数组(ArrayList)类型
FastJson的JSON操作:
将对象转换为JSON字符串的步骤:
转换JSON字符串的步骤:
1. 引入fastjson.jar包
2. 转换JSON字符串: JSON.toJSONString(要转换的对象);
案例:
Book b = BookDao.find();
String json=JSON.toJSONString(b);
System.out.println(json);
将JSON字符串转换为对象:
1. 引入fastjson.jar包
2. 在需要转换Java对象的位置, 编写如下代码:
类型 对象名=JSON.parseObject(JSON字符串, 类型.class);
或 List<类型> list=JSON.parseArray(JSON字符串,类型.class);
案例1:(转为对象)
String json = "{\"name\":\"白雪公主\",\"info\":\"讲述的是白雪公主与七个小矮人的故事\",\"id\":\"1001\"}";
Book book = JSON.parseObject(json, Book.class);
System.out.println(book);
案例2:(转为数组)
String text = "[\"白雪公主\",\"灰姑凉\",\"卖火柴的小姑娘\"]";
List<String> list = JSON.parseArray(text, String.class);
System.out.println(list.get(1));