JSON
- 概念:JavaScript Object Notation JavaScript对象表示法,现在多用于存储和交换文本信息的语法,进行数据传输,类似XML,比XML更加轻量级
- 语法:
- 基本规则
- 数据在名称/值对中:json数据是由键值对构成的
- 键用引号(单双都行)引起来,也可以不用引号
- 值的取值类型
- 数字
- 字符串
- 逻辑值
- 数组(在方括号中) {“persons”:[{},{}…]}
- 对象(在画括号中) {“address”:{“province”:“陕西”…}}
- null
- 数据由逗号分隔:多个键值对由逗号分割
- 方括号保存数组:[]
- 数据在名称/值对中:json数据是由键值对构成的
- 获取数据
- json对象.键名
- json对象[“键名”]
- 数组对象[索引]
- json数据遍历
- for(var key in person){
- alert(key+":"+person[key])
- }
- JSON和Java对象的相互转换
- JSON解析器
- 常见的解析器:Jsonlib,Gson,fastjson,jackson
-
JSON转为Java对象
- 导入jackson相关jar包
- 创建jackson核心对象ObjectMapper
- 调用ObjectMapper的相关方法进行转换
- 转换方法:
- readValue(json字符串数据,Class)
- 转换方法:
-
Java对象转为JSON
-
步骤:
- 导入jackson相关jar包
- 创建jackson核心对象ObjectMapper
- 调用ObjectMapper的相关方法进行转换
- 转换方法
- writeValue(参数1,obj):
- 参数1:
- File:将obj对象转换为JSON字符串,并保存到指定的文件中
- Writer:将obj对象转换为JSON字符串,并将JSON数据填充到字符串输出流中
- OutputStream:将obj对象转换为JSON字符串,并将JSON数据填充到字节输出流中
- 参数1:
- werieValueAsString():将对象转为JSON字符串
- writeValue(参数1,obj):
- 注解:
- @JsonIgnore:排除属性
- @JsonFormat:属性值格式化
- 复杂Java对象转换
- List:数组
- Map:与对象格式一致
- JSON解析器
- 基本规则