文章目录
简介
JSON: JavaScript Object Notation JS对象简谱 , 是一种轻量级的数据交换格式.
一、JSON格式
1、对象格式
- JSON:{ “name”:“金苹果”, “info”:“种苹果” }
- 一个对象, 由一个大括号表示.
- 括号中 描述对象的属性 .
- 通过键值对来描述对象的属性
2、数组格式:
- 在JSON格式中可以与对象互相嵌套 [元素1,元素2…]
二、JSON的转换
- JSON的转换有二种库分别为
- 1.Gson
- 2.FastJson
1.Gson:
- 将对象转换为JSON字符串
代码如下(示例):
转换JSON字符串的步骤:
1. 引入JAR包
2. 在需要转换JSON字符串的位置编写如下代码即可:
String json = new Gson().toJSON(要转换的对象);
// 1. 创建 Gson 对象
Gson gson = new Gson();
// 2. 转换 为 json 。
Book s = new Book("武松打虎","讲述武松打虎的故事","007");
Object s1 = gson.toJson(s);
System.out.println(s1);
- 将JSON字符串转换为对象
代码如下(示例):
1. 引入JAR包
2. 在需要转换Java对象的位置, 编写如下代码:
对象 = new Gson().fromJson(JSON字符串,对象类型.class);
// json转换为对象
Gson gson1 = new Gson();
Book book = gson1.fromJson("{\"name\":\"武松打虎\",\"info\":\"讲述武松打虎的故事\",\"id\":\"007\"}\n", Book.class);
System.out.println(book.toString());
- 转换 数组
代码如下(示例):
// json 转换为 HashMap类型 {"name":"武松打虎","info":"讲述武松打虎的故事","id":"007","page":["抽烟","喝酒","烫头"]}
Gson gson2 = new Gson();
HashMap hashMap = gson2.fromJson("{\"name\":\"武松打虎\",\"info\":\"讲述武松打虎的故事\",\"id\":\"007\",\"page\":[\"抽烟\",\"喝酒\",\"烫头\"]}", HashMap.class);
System.out.println(hashMap.get("page").getClass()); // page的类型是 ArrayList
//转换为列表
List page = (List) hashMap.get("page");
System.out.println(page);
2.FastJson:
- 将对象转换为JSON字符串
代码如下(示例):
转换JSON字符串的步骤:
1. 引入JAR包
2. 在需要转换JSON字符串的位置编写如下代码即可:
String json=JSON.toJSONString(要转换的对象);
// 字符串 转换为 json
Book b = new Book("金牌主播", "德莱文出饮血剑了", "007");
// 转换
Object s = JSON.toJSONString(b);
System.out.println(s);
- 将JSON字符串转换为对象
代码如下(示例):
1. 引入JAR包
2. 在需要转换Java对象的位置, 编写如下代码:
类型 对象名=JSON.parseObject(JSON字符串, 类型.class);
或 List<类型> list=JSON.parseArray(JSON字符串,类型.class);
// json 转换 对象
Book book = JSON.parseObject("{\"id\":\"007\",\"info\":\"德莱文出饮血剑了\",\"name\":\"金牌主播\"}", Book.class);
// 使用 FastJson时,应注意 权限修饰符 等级。
System.out.println(book);
- 转换 数组
代码如下(示例):
// Json 转换 数组
List<String> strings = JSON.parseArray("[\"123\",\"123\",\"321\"]", String.class);
System.out.println(strings.get(2));