FastJson bean序列化属性顺序问题
fastjson序列化一个java bean,默认是根据fieldName的字母序进行序列化的,你可以通过ordinal指定字段的顺序,这个特性需要1.1.42以上版本。示例如下。
import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.annotation.JSONField;
/**
* Created by gary on 16/6/21.
*/
public class FieldSequence {
@JSONField(ordinal=1,name = "name_1")
private String name;
@JSONField(ordinal=2)
private int age;
@JSONField(ordinal=3)
private String gender;
public FieldSequence(String name,int age,String gender){
this.name = name;
this.age = age;
this.gender = gender;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
public String getGender() {
return gender;
}
public void setGender(String gender) {
this.gender = gender;
}
public static void main(String[] args){
FieldSequence fieldSequence = new FieldSequence("lily",20,"woman");
System.out.println(JSON.toJSONString(fieldSequence));
}
}
属性中不使用@JSONField注解输出如下
{"age":20,"gender":"woman","name":"lily"} //按属性字母顺序排序
使用注解后,上面程序输出如下
{"name_1":"lily","age":20,"gender":"woman"}
@JSONField注解中可以设置属性顺序,重新设置属性名称,格式等,SerializerFeature(这是个枚举类,里面封装的有很多序列化的格式需求)
FastJson bean序列化属性顺序问题的更多相关文章
- fastjson的序列化属性
在将使用JSON.toJSONString(result, SerializerFeature.PrettyFormat)将JSONObject转化为字符串时,可以指定一些序列化属性,设置转化后的字符 ...
- Fastjson的SerializerFeature序列化属性
Fastjson的SerializerFeature序列化属性 fastJson在key的value为null时,默认是不显示出这个字段的 JSONObject.toJSONString(Object ...
- fastjson自定义序列化竟然有这么多姿势?
本文介绍下fastjson自定义序列化的各种操作. 一.什么是fastjson? fastjson是阿里巴巴的开源JSON解析库,它可以解析JSON格式的字符串,支持将Java Bean序列化为JSO ...
- SpringBoot Redis使用fastjson进行序列化
在使用spring-data-redis,默认情况下是使用org.springframework.data.redis.serializer.JdkSerializationRedisSerializ ...
- 【spring】bean加载顺序
问题来源 有一个bean为A,一个bean为B.想要A在容器实例化的时候的一个属性name赋值为B的一个方法funB的返回值. 如果只是在A里单纯的写着: private B b; private S ...
- Spring(四)--bean的属性赋值
bean的属性赋值 1.需要的实体类 2.需要的配置文件 <?xml version="1.0" encoding="UTF-8"?> <be ...
- spring(四):spring中给bean的属性赋值
spring中给bean的属性赋值 xml文件properties标签设置 <bean id="student" class="com.enjoy.study.ca ...
- SpringBoot中的bean加载顺序
https://www.dazhuanlan.com/2019/10/22/5daebc5d16429/ 最近在做传统Spring项目到SpringBoot项目迁移过程中,遇到了一些bean加载顺序的 ...
- 【Spring注解驱动开发】如何使用@Value注解为bean的属性赋值,我们一起吊打面试官!
写在前面 在之前的文章中,我们探讨了如何向Spring的IOC容器中注册bean组件,讲解了有关bean组件的生命周期的知识.今天,我们就来一起聊聊@Value注解的用法. 项目工程源码已经提交到Gi ...
随机推荐
- EM算法及其应用: K-means 与 高斯混合模型
EM算法及其应用(一) EM算法及其应用(二): K-means 与 高斯混合模型 上一篇阐述了EM算法的主要原理,这一篇来看其两大应用 -- K-means 与 高斯混合模型,主要由EM算法的观点出 ...
- .NET移动开发环境搭建
开发工具:Xamarin Studio 社区版 下载地址 http://www.monodevelop.com/download/ 操作系统要求:Windows7及以上..NET Framework4 ...
- java.lang.ArrayStoreException: sun.reflect.annotation.TypeNotPresentExceptionProxy
java.lang.ArrayStoreException: sun.reflect.annotation.TypeNotPresentExceptionProxy at sun.reflect.an ...
- 《DSP using MATLAB》Problem 2.5
2.代码: %% ------------------------------------------------------------------------ %% Output Info abo ...
- 《DSP using MATLAB》示例 Example 9.8
代码: %% ------------------------------------------------------------------------ %% Output Info about ...
- 初识安卓小程序(Android短信发送器)
首先,先创建一个安卓项目(我的版本号是4.4.2的),名字为"短信发送器" 然后在res目录下找到layout目录,找到activity_main.xml或fragment_mai ...
- 使用UNetbootin制作U盘启动
制作Ubuntu系统启动U盘,可以用软碟通UltraISO,也能用UNetbootin这个软件. UNetbootin的好处是有windows客户端,也有Linux的客户端,也就是说可以很方便的在Li ...
- thinkphp3.2.3+smarty解决success调用模板错误心得
最近学习thinkphp上瘾,出现success找不到模板问题,查阅各大神解决方案,分享一下针对新手如何解决该问题,如有不对的地方请大神指正 1.首先修改自己的config文件,添加如下配置代码:// ...
- 查看ms SQL Server存储过程,函数的内容
方法1:最简单的,右键单击要查看的存储过程,选择“修改”: 方法2: SELECT definition FROM solar.sys.sql_modules WHERE [object_id]=(O ...
- python 内置方法的时间复杂度
好文,非常值得参考 http://www.orangecube.net/python-time-complexity