随笔 - 36,  文章 - 0,  评论 - 1,  阅读 - 21914

简介

ObjectMapper类(com.fasterxml.jackson.databind.ObjectMapper)是Jackson的主要类,它可以帮助我们快速的进行各个类型和Json类型的相互转换。

使用

1、引入Jackson的依赖

 

2、ObjectMapper的常用配置

private static ObjectMapper mapper;
public ObjectMapper getObjectMapper(){
return this.mapper;
}
static {
//创建ObjectMapper对象
mapper = new ObjectMapper();

//configure方法,配置一些需要的参数
//转换为格式化的json,显示出来的格式美化
mapper.enable(SerializationFeature.INDENT_OUTPUT);

//序列化的时候序列对象的那些属性
//JsonInclude.Include.ALWAYS --所有属性
//JsonInclude.Include.NON_DEFAULT --属性为默认值不序列化
//JsonInclude.Include.NON_EMPTY --属性为 空(“”)或者为NULL都不序列化
//JsonInclude.Include.NON_NULL --属性为NULL 不序列化
mapper.setSerializationInclusion(JsonInclude.Include.ALWAYS);

//返序列化时,遇到未知属性会不会报错
//true:遇到没有的属性就报错 false:遇到没有的属性不会管,也不会报错
mapper.configure(DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES,false);

//如果是空对象的时候,不抛异常
mapper.configure(SerializationFeature.FAIL_ON_EMPTY_BEANS,false);

//忽略 transient 修饰的属性
mapper.configure(MapperFeature.PROPAGATE_TRANSIENT_MARKER,true);

//修改序列化后日期格式
mapper.configure(SerializationFeature.WRITE_DATES_AS_TIMESTAMPS,false);
mapper.setDateFormat(new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"));

//处理不同的时区偏移格式
mapper.disable(SerializationFeature.WRITE_DATES_AS_TIMESTAMPS);
//mapper.registerModule(new JavaTimeModule());
}

3、ObjectMapper的常用方法

1)json字符串转对象;

将字符串转换为对象:Student sutdent = mapper.readValue(jsonString,Student.class);

将对象转换为字符串:String jsonString = mapper.writeValueAsString(student);

2)数组和对象之间转换;
将数组串转换为对象:Student sutdent = mapper.readValue(bytesArr,Student.class);
将对象转换为数组:byte[] bytesArr = mapper.writeValueAsBytes(student); 
3)集合和json字符串之间转换;
将集合转换为字符串:String jsonStr = mapper.writeValueAsString(studentList);//studentList为student对象集合
将字符串转换为集合:List<Student> studentList2 = mapper.readValue(jsonStr,List.class);

4)map和json字符串之间转换;
将map转换为json字符串:String jsonStr = mapper.writeValueAsString(testMap);//testMap为Map<String,Object> testMap = new Hashmap<>()
将json字符串转换为map:Map<String,Object> testMapDes= mapper.readValue(jsonStr,Map.class);
5)日期转json字符串;
mapper.setDateFormat(new SimpleDateFormat("yyyy-MM-dd HH:mm"));
String jsonStr = mapper.writeValueAsString(student);//student对象中包含Date类型的属性
4、例
1)json字符串转对象;
2)数组和对象之间转换;

3)集合和json字符串之间转换;
4)map和json字符串之间转换;
5)日期转json字符串;
5、js中将字符串转换为json对象

 

摘抄自:https://blog.csdn.net/technologyleader/article/details/123358279

posted on   无知小笨鸟  阅读(2501)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· Docker 太简单,K8s 太复杂?w7panel 让容器管理更轻松!
< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5

点击右上角即可分享
微信分享提示