今天分享JSON的使用,而在这里先简单介绍一下什么是JSON ?JSON: JavaScript Object Notation JS对象简谱 , 是一种轻量级的数据交换格式.
我分两部分: 热度推荐和使用
一、 热度推荐
国外: GJSON ,它是谷歌推出的.
国内: fastJSON ,它是阿里推出的.
推荐使用谷歌.
二、JSON的使用
对JSON的使用不得不说说它的格式了,它分为:对象格式和数组格式。
对象格式:
JSON:
{
"name":"姓名",
"info":"简介",
....
}
一个对象, 由一个大括号表示. 括号中 描述对象的属性 . 通过键值对来描述对象的属性 (可以理解为, 大括号中,
包含的是一个个的键值对.) 格式: 键与值之间使用冒号连接, 多个键值对之间使用逗号分隔. 键值对的键 应使用引号引住
(通常Java解析时, 键不使用引号会报错. 而JS能正确解 析.) 键值对的值, 可以是JS中的任意类型的数据
数组格式:
在JSON格式中可以与对象互相嵌套 [元素1,元素2…]
GJSON用法:
- 将对象转换为JSON字符串
转换JSON字符串的步骤:
- 引入JAR包
- 在需要转换JSON字符串的位置编写如下代码即可:
String json = new Gson().toJSON(要转换的对象);
eg:
Book book = new Book("1002","唐诗三百首","床前明月光");
String json = new Gson().toJson(b);//转换
System.out.println(json);
将JSON字符串转换为对象
- 引入JAR包
- 在需要转换Java对象的位置, 编写如下代码:
对象 = new Gson().fromJson(JSON字符串,对象类型.class);
eg:
//1. 创建Gson对象
Gson g = new Gson();
//2. 转换 :{"id":"100","name":"姓名","info":"简介"}
Book b = g.fromJson("{\"id\":\"100\",\"name\":\"姓名\",\"info\":\"简介\"}",Book.class);
System.out.println(b.getInfo());
FastJson用法
- 将对象转换为JSON字符串
转换JSON字符串的步骤:
- 引入JAR包
- 在需要转换JSON字符串的位置编写如下代码即可:
String json=JSON.toJSONString(要转换的对象);
eg:
Book book = new Book("1002","唐诗三百首","床前明月光");
String json=JSON.toJSONString(b);//转换
System.out.println(json);
- 将JSON字符串转换为对象
- 引入JAR包
- 在需要转换Java对象的位置, 编写如下代码:
类型 对象名=JSON.parseObject(JSON字符串, 类型.class);
或
List<类型> list=JSON.parseArray(JSON字符串,类型.class);
eg:
//1. 转换 : ["苹果","菠萝","橘子"]
List<String> strings = JSON.parseArray("[\"苹果\",\"菠萝\",\"橘子\"]", String.class);
System.out.println(strings.get(1));