文档章节

FastJson 序列化java bean中的属性顺序问题(alibaba.fastjson)

writeademo
 writeademo
发布于 2016/09/30 15:16
字数 295
阅读 460
收藏 1

FastJson 序列化java bean中的属性顺序问题(alibaba.fastjson)

fastjson序列化一个java bean,默认是根据fieldName的字母序进行序列化的,你可以通过ordinal指定字段的顺序,这个特性需要1.1.42以上版本。示例如下。

import com.alibaba.fastjson.JSON;

import com.alibaba.fastjson.annotation.JSONField;

 

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){

        System.out.println(JSON.toJSONString(fieldSequence));

    }

 

}

属性中不使用@JSONField注解输出如下

{"age":20,"gender":"woman","name":"lily"}  //按属性字母顺序排序

·         1

使用注解后,上面程序输出如下

{"name_1":"lily","age":20,"gender":"woman"}

一种方式 @JSONType(orders={“”,””,””,””})字段名的顺序

另一种 @JSONField注解中可以设置属性顺序,重新设置属性名称,格式等,SerializerFeature(这是个枚举类,里面封装的有很多序列化的格式需求)

 

© 著作权归作者所有

共有 人打赏支持
writeademo
粉丝 23
博文 516
码字总数 188548
作品 0
东城
用fastjson反序列化时的一个需要注意的地方

问题描述: fastjson反序列化时现解析不正确的问题,expiretime属性值不正确。 问题分析: 当ValidateCode有两个构造函数,且先后位置如图时,fastjson反序列化时,expiretime是不正确的。两...

zjg23
03/27
0
0
Fastjson 的 Set类型和 WriteClassName 选项引起的BUG

使用 fastjson 序列化一个JAVABEAN对象时,如果属性有 Set 表示的集合的时候,如果写JSON时,设置了 WriteClassName 选项,Set 属性值会被写成 "Set[{}]",反序列化的时候,一定会出错。 解决...

阿影
2014/01/15
0
0
想请教一个fastjson反序列化的问题

听闻fastjson速度最快,这几天在学习、使用fastjson。哎,没想到它的官方文档太少了,尤其是反序列化的例子——只有一个简单至极的demo;还找不到api文档 -。- 想问一下,从json字符串反序列...

Timco
2013/11/26
403
2
fastjson @JSONField

1.作用在FIELD(成员变量上) 注意:1、若属性是私有的,必须有set*方法。否则无法反序列化。 package com.zhujie; import com.alibaba.fastjson.JSONObject; import com.alibaba.fastjson.an...

诗和_远方
08/24
0
0
fastjson-1.2.41 和 fastjson-1.1.67.android 发布

fastjson-1.2.41 已发布,这个版本增强对Kotlin的支持,并且修复了几个BUG。 Issues 增强对kotlin的支持 #1569 新增Feature.SupportAutoType 反序列化增强对Map.Entry类型的支持 #1583 修复J...

局长
2017/11/18
481
0

没有更多内容

加载失败,请刷新页面

加载更多

VSCode 搭建Vue开发环境之Vue CLI

一、简介说明 1.关于VS Code开发工具,安装和配置,更多可以参考以前文章 2.关于Vue.js,Vue是一个优秀的渐进式前端框架,不仅易于上手,还便于与第三方库或既有项目整合。 3.关于Vue是使用方...

tianma3798
20分钟前
2
0
MySQL 相关博客整理

1. 《深入理解 MySQL 底层实现》 简评:文章从硬盘底层存储原理讲解到MySQL存储原理,其中涉及InnoDB 和 Myisam 中 B+Tree 的应用,以及常见数据库优化思路,算是一片很不错的讲解MySQL原理的...

科陆李明
30分钟前
2
0
pada rabbitmq server mangage

查看配置文件 ubuntu@node4:/etc/rabbitmq$ lltotal 28drwxr-xr-x 2 rabbitmq rabbitmq 4096 Jun 6 13:52 ./drwxr-xr-x 104 root root 12288 Sep 26 11:39 ../-rw-r--r-- ......

qwfys
37分钟前
0
0
SpringBoot进阶

慕课网链接 表单数据的验证 在pojo类属性的上面添加注解 @Entitypublic class Girl { @Id @GeneratedValue private Integer id; @NotBlank(message = "这个字段...

踏破铁鞋无觅处
45分钟前
1
0
【SylixOS】QT-QWS流程介绍

QWS简介 QWS(QT Windows System)是QT自行开发的窗口系统,体系结构类似X Windows的C/S结构。QWS Server在物理设备上显示,QWS Client实现界面,两者通过socket进行彼此的通讯。在很多嵌入式系...

suokin
45分钟前
0
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部