jackson的使用案例
jackson核心对象 —— objectMapper
objectMapper是将object和json进行互转的核心类
json转object —— readValue方法
readValue可以有两个参数,其中参数1是从哪读,可以是file、流、url等,参数2是解析成什么类型。readValue有各种重写类型,其中最常用为:
readValue(String, Class);
将String的json串解析为对应的Class;此处使用自己构建的Dto解析json也可以。
也可以通过核心抽象组装类型TypeReference<T>进行组装类的转化,例如:
readValue(String, new TypeReference<List<String>>() {});
此处需要注意,想从str中解析出list,必须序列化的时候也拿list来序列化,直接拿str来序列化是不可能解析成长度为1的list的
一般来说,把对象进行序列化和反序列化最合适。
object转json —— writeValue方法
如果object是JsonNode类型可以直接读,不一定要转。
return object instanceof JsonNode ? object.toString() : om.writeValueAsString(object);
否则可以使用writeValue方法转成想要的类型。
writeValue有多种入参的版本,还有writeValueAsString、writeValueAsBytes方法
评论区