JavaScript Object Notation
JSON 比 XML 更小、更快,更易解析。
语法规则
1.键用引号(单双都行)引起来,也可以不使用引号
2.value
- 数字(整数或浮点数)
- 字符串(在双引号中)
- 逻辑值(true 或 false)
- 数组(在方括号中) {“persons”:[{},{}]}
- 对象(在花括号中) {“address”:{“province”:“陕西”…}}
- null
3.{}表示json,[]表示数组,key-value用逗号分开
4.获取数据可以通过点号“json.key”,json[“key”],数组[索引]来获取
Java与json
JSON解析器:jackson
java转json
本质上就是将java对象(javabean,map,list)转换为json格式的字符串
1.创建ObjectMapper对象
2.调用ObjectMapper对象的writeValue方法或者writeValueAsString方法
- writeValue(参数,obj)
参数 | 描述 |
---|---|
File | 将对象转换为json字符串,并保存到指定文件中 |
Writer | 将对象转换为json字符串,字符输出 |
OutputStream | 将对象转换为json字符串,字节输出 |
- writeValueAsString(obj),将对象转换为json字符串
例子:
javaBean转json
List转json
List<Int> ps = new ArrayList<Int>();
ps.add(1);
ObjectMapper mapper = new ObjectMapper();
String json = mapper.writeValueAsString(ps);
System.out.println(json);
map转json
Map<String,Object> map = new HashMap<String,Object>();
map.put("name","张三");
ObjectMapper mapper = new ObjectMapper();
String json = mapper.writeValueAsString(map);
System.out.println(json);
List
List<Map<String, Object>> maps = getJdbcTemplate().queryForList(sql);
ObjectMapper mapper =new ObjectMapper();
json = mapper.writeValueAsString(maps);
System.out.println(json);
注解
在javaBean中可以使用注解对属性进行排除和格式化操作
- @JsonIgnore:排除属性。
- @JsonFormat:属性值格式化