JSON
一、JSON概念
1、JSON
JSON: JavaScript Object Notation JavaScript对象表示法
- Java:
Person p = new Person("张三",23,"男");
- JSON:
var p = {"name":"张三","age":23,"gender":"男"};
2、JSON特点
json现在多用于存储和交换文本信息的语法
用于数据的传输
JSON 比 XML 更小、更快,更易解析
二、JSON语法
1、基本规则
- 数据在名称/值对中:json数据是由键值对构成的
- 键用引号(单双都行)引起来,也可以不使用引号
- 数据由逗号分隔:多个键值对由逗号分隔
- 取值数据类型:
- 数字(整数或浮点数)
- 字符串(在双引号中)
- 逻辑值(true 或 false)
- 数组(在方括号中)
- 对象(在花括号中)
- null
2、获取数据
- json对象.键名
- json对象["键名"]
- 数组对象[索引]
三、JSON与Java对象的转换
1、JSON解析器
Jsonlib,Gson,fastjson,jackson
2、JSON --> Java对象
- 导入jackson的相关jar包
- 创建Jackson核心对象 ObjectMapper
- readValue(json字符串数据,Class)
3、Java对象 --> JSON
1)使用步骤
- 导入jackson的相关jar包
- 创建Jackson核心对象 ObjectMapper
- 调用ObjectMapper的相关方法进行转换
- writeValue(参数,obj)
- File:保存到指定的文件中
- Writer:将json数据填充到字符输出流中
- OutputStream:将json数据填充到字节输出流中
- writeValueAsString(obj):将对象转为json字符串
- writeValue(参数,obj)
2)注解
- @JsonIgnore:排除属性
- @JsonFormat:属性的格式化
对于Date类型:@JsonFormat(pattern = "yyyy-MM-dd")
3)复杂java对象转换
- List:数组
- Map:对象格式一致