Json 2020.1.26
Json的概念
- Json全称:JavaScript Object Notation(JavaScript对象表示法)
- 格式:键值对。
Json值的获取
var persons = {
"name":"zhangsan",
"age":26
};
var name = persons.name;
var persons = {
"name":"zhangsan",
"age":26
};
var name = persons["name"]
var persons = {
"persons":[
{"name": "张三", "age":26, "gender": true},
{"name": "李四", "age":26, "gender": true},
{"name": "王五", "age":26, "gender": false},
]
};
var name = persons.persons[2].name;
获取Json对象中所有的键值对
for(var key in person){
alert(key+":"+person[key])
}
- 注意:这里遍历后的key相当于一个字符串,不是一个对象。
Java对象和JSON的互相转换
- JSON解析器:
- Jsonlib(官方)
- Gson
- fastjson(阿里巴巴)
- jackson(Spring MVC)
Java对象转换为JSON数据
- 导入jackson的相关的jar包
- 创建核心对象 ObjectMapper
- 调用相关方法进行转换
- writeValueAsString(obj):将对象转换为JSON字符串
- writeValue(参数1, obj)
- 参数1:File 将obj对象转换为JSON字符串,并且保存到指定的文件中
- 参数1:Writer 将obj对象转换为JSON字符串,并将json数据填充到字符输出流中
- 参数1:OutputStream 将obj对象转换为JSON字符串,并将json数据填充到字节输出流中
- 相关注解:
- @JsonIgnore:在JSON转换中忽略该属性,注解放在JavaBean中相关属性定义的上面
- @JsonFormat(pattern = 数据样式)在JSON转换中将相关属性进行格式化,注解放在JavaBean中相关属性定义的上面
JSON数据转换为Java对象
- 导入jackson的相关的jar包
- 创建核心对象 ObjectMapper
- 调用相关方法进行转换
- readValue(String(Json),Class)