1、json转对象 使用 readValue()
2、对象转json 使用 writeValueAsString(); writeValue()
3、直接解析json 使用 readTree()
private static final ObjectMapper MAPPER = new ObjectMapper();
.......
.......
/**
*情况一:json 转 对象
*/
String json = this.redisUtils.get("itemDesc_" + itemId);
if (StringUtils.isNoneBlank(json)) {
ItemDesc itemDese = MAPPER.readValue(json, ItemDesc.class);
}
/**
*情况二:对象 转 json
*/
PicUploadResult picUploadResult = new PicUploadResult();
String json = MAPPER.writeValueAsString(picUploadResult);
/**
*情况三:直接解析 json
*/
//获取消息的内容{"itemId":1474391930,"type":"save"}
String json = textMessage.getText();
if(StringUtils.isNotBlank(json)) {
//解析消息内容
JsonNode jsonNode = MAPPER.readTree(json);
}
补充:
writeValue 与 writeValueAsString 对比
格式对比:
writeValue(参数,obj):直接将传入的对象序列化为json,并且返回给客户端
writeValueAsString(obj):将传入的对象序列化为json,返回给调用者
不同:
writeValue(参数,obj):
参数有四种重载形式
第一种:file 将转换后的json字符串保存到指定的file文件中
第二种:writer 将转换后的json字符串保存到字符输出流中
第二种:outputStream将转换后的json字符串保存到字节输出流中