概念
JavaScript Object Notation = JavaScript对象表示法
- JSON现在多用于存储和数据的传输
- JSON 比 XML 更小、更快,更易解析。
// Json表示前
Person p = new Person();
p.setName("张三");
p.setAge(23);
p.setGender("男");
// Json表示后
var p = {"name":"张三","age":23,"gender":"男"};
语法
语法规则
- json数据是由键值对构成的
- 多个键值对由逗号分隔
- 花括号保存对象:{}
- 方括号保存数组:[]
- 数据类型
- 数字(整数或浮点数)
- 字符串(在引号中)
- 逻辑值(true 或 false)
- 数组(在方括号中){"persons":[{},{}]}
- 对象(在花括号中){"address":{"province":"陕西"....}}
- null
获取数据
- json对象.键名
- json对象["键名"]
- 数组对象[索引]
Java to Json
// 创建Jackson的核心对象 ObjectMapper
ObjectMapper mapper = new ObjectMapper();
// 方式一
String json = mapper.writeValueAsString(p);
// 方式二
mapper.writeValue(new File("/Users/wengyifan/Desktop/a.txt"), p);
mapper.writeValue(new FileWriter("/Users/wengyifan/Desktop/b.txt"), p);
Json to Java
// 创建Jackson的核心对象 ObjectMapper
ObjectMapper mapper = new ObjectMapper();
// json to java
Person p = mapper.readValue(json, Person.class);