一、JSON介绍
1. 简介
JSON 的全称是 JavaScript Object Notation,是一种轻量级的数据交换格式。
2. 特点
(1)JSON 比 XML 数据传输的有效性要高出很多
(2)JSON 完全独立于编程语言
(3)本质就是具有特定格式的字符串
3.对象格式
{
"name":"zhangsan",
"age": 20 ,
...
}
一个对象, 由一个大括号表示.
括号中 描述对象的属性 . 通过键值对来描述对象的属性
(可以理解为, 大括号中, 包含的是一个个的键值对.)
格式:
1)键与值之间使用冒号连接, 多个键值对之间使用逗号分隔.
2)键值对的键 应使用引号引住 (通常Java解析时, 键不使用引号会报错.而JS能正确解 析.)
3)键值对的值, 可以是JS中的任意类型的数据.
[元素1,元素2...]
数组格式:
在JSON格式中可以与对象互相嵌套
二、Gson和FastJson框架介绍
1.Gson
简介
GSON是Google提供的用来在Java对象和JSON数据之间进行映射的Java类库。可以将一个Json字符转成一个Java对象,或者将一个Java转化为Json字符串。
特点
(1)快速、高效
(2)代码量少、简洁
(3)面向对象
(4)数据传递和解析方便
1) 将对象转换为JSON字符串
(1). 引入JAR包
(2). 创建Gson对象 Gson gson = new Gson();
(3). 通过创建的Gson对象调用toJson()方法,返回json数据:
String json = gson.toJSON(要转换的对象);
(2)和(3)可以简写:
在需要转换JSON字符串的位置编写如下代码即可
String json = new Gson().toJSON(要转换的对象);
代码如下:
// 1.获取对象
Book b = new Book("1001", "唐诗", "第一章");
// 2.转换
String json = new Gson().toJson(b);
2) 将JSON字符串转换为对象
(1). 引入JAR包
(2). 在需要转换Java对象的位置, 编写如下代码:
对象 = new Gson().fromJson(JSON字符串,对象类型.class);
代码如下:
// JSON字符串
String json = "{\"id\":\"1001\",\"name\":\"唐诗\",\"info\":\"第一章\"}";
// 转换
Book book = new Gson().fromJson(json, Book.class);
2.FastJson
简介
FastJson是阿里开源的一个高性能的JSON框架FastJson,可以将 Java 对象转换为 JSON 格式,当然它也可以将 JSON 字符串转换为 Java 对象。
特点
Fastjson 可以操作任何 Java 对象,即使是一些预先存在的没有源码的对象。
1) 将对象转换为JSON字符串
(1). 引入JAR包
(2)在需要转换JSON字符串的位置编写如下代码即可:
String json=JSON.toJSONString(要转换的对象);
代码如下:
// 1.对象
Book b = new Book("1002", "唐诗", "第二章");
// 2.转换
String json = JSON.toJSONString(b);
2) 将JSON字符串转换为对象
(1). 引入JAR包
(2). 在需要转换Java对象的位置, 编写如下代码:
类型 对象名=JSON.parseObject(JSON字符串, 类型.class);
或 List list=JSON.parseArray(JSON字符串,类型.class);
代码如下:
// JSON字符串
String json = "{\"id\":\"1002\",\"name\":\"唐诗\",\"info\":\"第二章\"}";
// 转换
Book book = JSON.parseObject(json,Book.class);
发表评论