课程名称 : JSON 快速入门
课程章节 :第1章 课程概述 、 第2章 基础入门 第3章 JSON in Java
课程讲师 : 双越
课程内容 :
什么是 JSON ?
JSON 是一种与开发语言无关的、轻量级的数据格式。
优点
- 易于人的阅读和编写,易于程序解析和生产
简单的 JSON 样例
{
"name" : "JSON 快速入门",
"author" : "qq_慕娘7504397"
}
标准的 JSON 数据表示
数据结构 : Object 、 Array
object 数据结构 : 使用 花括号包含的键值对结构、Key 必须是 string类型、Value 为任何基本类型或者数据结构。
Array : 用中括号 [] 括起来,用逗号分割元素。元素可以是 任何基本类型,和数据的一个对象。
基本类型 : string 、 number 、true 、 false 、null
JSON 自我介绍
{
"name" : "nuc_zm",
"age" : 18,
"birthday" : "2005-01-01",
"hobby" : ["sing","dance","rap"],
"has_girlfriend" : false,
"car" : null,
"house" : null
}
JSON的使用
JSON-zh文档 这个网站包含了各种语言所要使用的 JSON 依赖包 本次使用的是 Java
import com.alibaba.fastjson.JSON;
Group group = new Group();
group.setId(0L);
group.setName("admin");
User guestUser = new User();
guestUser.setId(2L);
guestUser.setName("guest");
User rootUser = new User();
rootUser.setId(3L);
rootUser.setName("root");
group.addUser(guestUser);
group.addUser(rootUser);
String jsonString = JSON.toJSONString(group);
System.out.println(jsonString);
{
"id":0,
"name":"admin",
"users":[
{"id":2,"name":"guest"},
{"id":3,"name":"root"}
]}
fastJson 提供的反序列化
String jsonString = ...;
Group group = JSON.parseObject(jsonString, Group.class);
看文档使用
@Test
public void test(){
Map<String ,Object> map = new HashMap<>();
map.put("name","zm");
List<Integer> integers = new ArrayList<>();
integers.add(1);
integers.add(2);
integers.add(3);
map.put("array",integers);
map.put("trueOrFalse",true);
map.put("null",null);
Object o = JSON.toJSON(map);
System.out.println(o);
String s = JSON.toJSONString(map);
System.out.println(s);
}
outPut
{"name":"zm","array":[1,2,3],"trueOrFalse":true}
{"array":[1,2,3],"name":"zm","trueOrFalse":true}
总结 : 收获最大的是 了解了JSON 的格式,原来只会使用spring 框架返回,并不知道格式。 也学会了看文档开发。