Java对象转JSON之转List和Map
List和Map也是Java对象, 但是转化为JSON对象时有一些不同
- 比如List集合中存储一组Java对象时, 这个时候我们对List集合进行一个转换, 调用ObjectMapper类的writeValueASString(Object obj)方法, 将我们的List集合对象传入, 就会解析为一个JSON对象数组, 就是外层为[]表示一个数组, 内层是多个{}, 每个{}就是一个JSON对象
- 其实也就相当于将一个Java对象集合转为了一个JSON集合
Map对象其实和JSON格式几乎是相同的, 都是键值对, 所以对于一个Map对象会直接转换为一个JSON对象, Map中的键值对直接转换为JSON中的键值对
eg:
//创建Map对象
Map<String, Object> map = new HashMap<>();
map.put("name","张三");
map.put("age","21");
//创建JSON解析器对象(Jackson核心对象)
ObjectMapper mapper = new ObjectMapper();
String json = mapper.writeValueAsString(map);
- 上面得到的字符串json的值为: { “name” : “张三” , “age” : “23” }
补充:
因为Jackson是Java中的一个对于JSON的解析器, 所以肯定是站在Java的角度上, 那么对应的就有:
- Java对象转JSON对象为writeXxx();
- JSON对象转Java对象为readXxx();