json笔记、jackjson笔记、ObjectMapper、jsonL

发布时间:2026/8/7 17:12:42
json笔记、jackjson笔记、ObjectMapper、jsonL
文章目录json笔记jackjson笔记ObjectMapper(对象转换器)写(相当于toJsonString)读(相当于parseObject)读(转换为list)其他json报错class com.app.model.Document declares multiple JSON fieldsJSONL为什么把jackjson放到这里呢? 因为jackjson是spring框架默认的json实现方式比阿里的fastjson优先级还高所以jackjson其实是第一实现。json笔记jackjson笔记ObjectMapper(对象转换器)ObjectMapper是jackjson的核心。objectMapper.writeValueAsString()相当于JSON.toJsonString()objectMapper.readValue()相当于JSON.parseObject()写(相当于toJsonString)ObjectMapperobjectMappernewObjectMapper();StringjsonobjectMapper.writeValueAsString(user);// 相当于JSON.toJsonString()读(相当于parseObject)ObjectMapperobjectMappernewObjectMapper();MapString,ObjectuserFromJsonobjectMapper.readValue(jsonString,Map.class);// 相读(转换为list)转换为list稍微有点不一样需要借助TypeReference来实现代码StringjsonArray[{\name\:\Alice\,\age\:30},{\name\:\Bob\,\age\:25}];ObjectMappermappernewObjectMapper();try{// 注意 new TypeReferenceListPerson() {} 后面的花括号 {} 不能省略ListPersonpersonListmapper.readValue(jsonArray,newTypeReferenceListPerson(){});System.out.println(personList.get(0).getName());// 输出: Alice}catch(Exceptione){e.printStackTrace();}其他json报错class com.app.model.Document declares multiple JSON fields报错信息为java.lang.IllegalArgumentException: class com.app.model.Document declares multiple JSON fields named imageUrl一般是出现在继承类中属性重复不易发现。删除掉即可。JSONLjsonL很好理解就是每行都是一个独立的json。如{question:京东总部在哪,reference:北京亦庄}{question:怎么退货,reference:订单→售后→退货}