json基础
一、JSON格式
满足以下三点:
花括号容纳对象
键 :值
逗号分隔数据
{
"name":"Bill Gates",
"age":62,
"city":"Seattle"
}
二、数据类型
JSON 的值必须是以下数据类型之一:
-
字符串
-
数字
-
对象(JSON 对象)
-
数组
-
布尔
-
Null
JSON 的值不可以是以下数据类型之一:
-
函数
-
日期
-
undefined
字符串(String)
用双引号包围。
{ "name":"John" }
数字(Number)
整数或浮点数。
{ "age":30 }
对象(Object)
json中的值也可以是json对象。
{ "employee":{ "name":"Bill Gates", "age":62, "city":"Seattle" } }
数组(Array)
数组中元素可以是String、数字或Object等json中允许的类型。
//例1 { "employees":[ "Bill", "Steve", "David" ] } //例2 { "books": [ { "language":"Java" , "edition":"second" }, { "language":"C++" , "lastName":"fifth" }, { "language":"C" , "lastName":"third" } ] }
布尔(boolen)
JSON 中的值可以是 true/false。
{ "sale":true }
Null
JSON 中的值可以是 null。
{ "middlename":null }
三、Json对象和Json字符串
JSON对象:是直接可以直接操作的json格式。
-
var str1 = {"name": 'zhangsan',"sex": "man"};
JSON字符串:仅仅只是一个字符串,内部存的数据由json对象得到。不截取的话没办法读取其中存储的数据,不能直接使用。
-
var str2 = '{"name": "zhangsan", "sex": "man"}'; // 花括号{}两边有 ' '
四、常用注解
jackson中的序列化和反序列化注解,使用时需要引入jackson的maven包
@JsonProperty: 序列化和反序列化都生效
@JsonAlias :仅反序列化生效