JSON框架Jackson中的属性序列化自定义与字母表排序是啥意思
发表于:2024-09-21 作者:千家信息网编辑
千家信息网最后更新 2024年09月21日,这期内容当中小编将会给大家带来有关JSON框架Jackson中的属性序列化自定义与字母表排序是啥意思,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。Jackson是S
千家信息网最后更新 2024年09月21日JSON框架Jackson中的属性序列化自定义与字母表排序是啥意思一、
这期内容当中小编将会给大家带来有关JSON框架Jackson中的属性序列化自定义与字母表排序是啥意思,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。
Jackson是Spring Boot默认的JSON数据处理框架,但是其并不依赖于任何的Spring 库。有的小伙伴以为Jackson只能在Spring框架内使用,其实不是的,没有这种限制。它提供了很多的JSON数据处理方法、注解,也包括流式API、树模型、数据绑定,以及复杂数据类型转换等功能。
一、@JsonPropertyOrder
属性排序
通过JsonPropertyOrder注解指定java POJO中各个成员变量的属性序列化顺序。
[@Data](https://my.oschina.net/difrik)@JsonPropertyOrder({"salary","name","age","hobbies","friends"})public class PlayerStar { private String name; private Integer age; private String[] hobbies; //业余爱好,数组 private Listfriends; // 朋友 private Map salary; //年收入 Map}
最终Java POJO对象序列化为如下的字符串,属性是按照JsonPropertyOrder注解定义的顺序序列化的("salary","name","age","hobbies","friends")。如果不使用JsonPropertyOrder指定顺序,默认是按照Java类成员变量的声明顺序进行序列化。
{ "salary" : { "2000" : 10000000, "2010" : 62000000, "2020" : 112400000 }, "name" : "乔丹", "age" : 45, "hobbies" : [ "高尔夫球", "棒球" ], "friends" : [ "kobe", "curry", "james" ]}
可以使用下面的代码将PlayerStar对象序列化为字符串
//getInstance是一个为PlayerStar各属性赋值的初始化方法,可以参考本系列文章第一节:基础数据准备 PlayerStar jordan = PlayerStar.getInstance(); //ObjectMapper作为Jackson的API工具类存在 ObjectMapper mapper = new ObjectMapper(); String jsonInString2 = mapper.writerWithDefaultPrettyPrinter().writeValueAsString(jordan); System.out.println(jsonInString2);
二、字母表顺序排序
使用@JsonPropertyOrder(alphabetic = true)
定义Java类成员变量的序列化顺序
@JsonPropertyOrder(alphabetic = true)public class PlayerStar { //成员变量定义和上文一致}
在英语字母表中,age(a开头) > friends(f开头) ->hobbies(h开头),以此类推,所以最终JSON序列化结果如下:
{ "age" : 45, "friends" : [ "kobe", "curry", "james" ], "hobbies" : [ "高尔夫球", "棒球" ], "name" : "乔丹", "salary" : { "2000" : 10000000, "2010" : 62000000, "2020" : 112400000 }}
上述就是小编为大家分享的JSON框架Jackson中的属性序列化自定义与字母表排序是啥意思了,如果刚好有类似的疑惑,不妨参照上述分析进行理解。如果想知道更多相关知识,欢迎关注行业资讯频道。
序列
属性
顺序
数据
字母
字母表
框架
排序
变量
成员
开头
注解
意思
内容
字符
字符串
对象
数据处理
文章
方法
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
保证网络安全有什么措施
配电脑服务器cpu
网络安全小语段
大连信实海大网络技术有限公司
网络技术改革开放
北京发展软件开发经历
软件开发专业哪家有名
网络安全技术人才缺失
舟山品牌网络技术哪家好
奇瑞汽车出口数据库
redis属于关系型数据库
应用网络技术的一般步骤
采购ldap目录服务器
mc虚拟服务器
大学网络安全主体责任
方舟服务器存在哪里
家用电脑和网站服务器有什么区别
数据库中的文档包括什么类型
医疗信息系统开发数据库
数据库软件诞生
启动rac数据库的方式
网络安全工作的情况汇报
网络安全宣传金融
网络安全学什么技术
中国研究亚洲的数据库有哪些
洋县公安局网络安全大队
守护5g网络安全
北京软件开发职位薪资
安全审计系统数据库库审计
武汉大学网络安全属于哪个部