文档章节

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

writeademo
 writeademo
发布于 2016/09/30 15:16
字数 295
阅读 520
收藏 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
粉丝 24
博文 536
码字总数 191681
作品 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 @JSONField

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

诗和_远方
08/24
0
0
想请教一个fastjson反序列化的问题

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

Timco
2013/11/26
403
2
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

没有更多内容

加载失败,请刷新页面

加载更多

CentOS 安装PHP5和PHP7

安装PHP5 下载解压二进制包 [root@test-a src]# cd /usr/local/src/[root@test-a src]# wget http://cn2.php.net/distributions/php-5.6.32.tar.bz2[root@test-a src]# tar jxvf php-5.6......

野雪球
48分钟前
3
0
windows上类似dnsmasq的软件Dual DHCP DNS Server

官网地址:http://dhcp-dns-server.sourceforge.net/官网定向的下载地址:https://sourceforge.net/projects/dhcp-dns-server/files/ 设置参考地址:http://blog.51cto.com/zhukeqiang/18264......

xueyuse0012
今天
3
0
LinkedHashMap源码解析

前言 HashMap中的元素时无序的,也就是说遍历HashMap的时候,顺序和放入的顺序是不一样的。 如果需要有序的Map,就可以采用LinkedHashMap. LinkedHashMap通过维护一个包含所有元素的双向链表,...

grace_233
今天
3
0
初识flask

文档 0.10.1版本 http://www.pythondoc.com/flask/index.html 1.0.2版本 https://dormousehole.readthedocs.io/en/latest/ 安装flask $ pip3 install flaskCollecting flask Downloading......

yimingkeji
昨天
5
0
Akka系统《sixteen》译

Actor是一个封装状态(state)和行为(behavior)的对象,它们只通过交换消息通信(放入收件人邮箱的邮件)。从某种意义上说,Actor是最严格的面向对象编程形式,但它更适合将他们视为人:在与Act...

woshixin
昨天
3
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部