文档章节

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

writeademo
 writeademo
发布于 2016/09/30 15:16
字数 295
阅读 367
收藏 1
点赞 0
评论 0

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
博文 469
码字总数 176019
作品 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-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
fastjson-1.1.35 发布

源码:https://github.com/alibaba/fastjson 下载:http://repo1.maven.org/maven2/com/alibaba/fastjson/1.1.35/ 文档:https://github.com/alibaba/fastjson/wiki/%E5%B8%B8%E8%A7%81%E9%......

wenshao
2013/07/28
5K
7
fastjson 发布 1.0.6 版本

项目首页 http://code.alibabatech.com/wiki/display/FastJSON/Home 版本1.0.6是一个完善版本,持续功能增强和bug修复。内置对File、URI、URL、InetAddress、InetSocketAddress、UUID等类的序...

wenshao
2011/06/24
5.1K
2
alibaba fastjson(json序列化器)序列化部分源码解析-2-性能优化B

前面讲了进行对象解析的两个方面,并讲了针对outWriter将不同类型的数据信息写到buf字符数组。本篇讲解对象解析的过程,即如何将不同类型的对象解析成outWriter所需要的序列信息。并考虑其中...

老盖
2011/06/20
0
0
alibaba fastjson(json序列化器)序列化部分源码解析-1-总体分析

fastjson官方地址: http://code.alibabatech.com/wiki/display/FastJSON/Home 从javaeye上看到了阿里一位人士写的fastjson,特别是其中如何将java对象序列化成json字符串这段。笔者比较关注,...

老盖
2011/06/20
0
0
Java的Json解析包FastJson使用

阿里巴巴FastJson是一个Json处理工具包,包括“序列化”和“反序列化”两部分,它具备如下特征: 速度最快,测试表明,fastjson具有极快的性能,超越任其他的Java Json parser。包括自称最快...

xiaoqiang_sea
2017/05/04
0
0
eric_1989/jfire-codejson

Jfire-codejson框架 标签: 最高性能 Json [TOC] ##框架优点 性能强劲 codejson是迄今为止最为强大的json框架.性能为fastjson的2.1倍,jackson2的1.8倍,gson的6.7倍。下图为基准测试数据 自由...

eric_1989
2015/11/15
0
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

用Python绘制红楼梦词云图,竟然发现了这个!

Python在数据分析中越来越受欢迎,已经达到了统计学家对R的喜爱程度,Python的拥护者们当然不会落后于R,开发了一个个好玩的数据分析工具,下面我们来看看如何使用Python,来读红楼梦,绘制小...

猫咪编程
19分钟前
0
0
Java中 发出请求获取别人的数据(阿里云 查询IP归属地)

1.效果 调用阿里云的接口 去定位IP地址 2. 代码 /** * 1. Java中远程调用方法 * http://localhost:8080/mavenssm20180519/invokingUrl.action * @Title: invokingUrl * @Description: * @ret......

Lucky_Me
42分钟前
1
0
protobuf学习笔记

相关文档 Protocol buffers(protobuf)入门简介及性能分析 Protobuf学习 - 入门

OSC_fly
昨天
0
0
Mybaties入门介绍

Mybaties和Hibernate是我们在Java开发中应用的比较多的两个ORM框架。当然,目前Mybaties正在慢慢取代Hibernate,这是因为相比较Hibernate而言Mybaties性能更好,响应更快,更加灵活。我们在开...

王子城
昨天
2
0
编程学习笔记之python深入之装饰器案例及说明文档[图]

编程学习笔记之python深入之装饰器案例及说明文档[图] 装饰器即在不对一个函数体进行任何修改,以及不改变整体的原本意思的情况下,增加函数功能的新函数,因为这个新函数对旧函数进行了装饰...

原创小博客
昨天
0
0
流利阅读笔记33-20180722待学习

黑暗中的生物:利用奇技淫巧快活生存 Daniel 2018-07-22 1.今日导读 如果让你在伸手不见五指的黑暗当中生存,你能熬过几天呢?而大千世界,无奇不有。在很多你不知道的角落,有些生物在完全黑...

aibinxiao
昨天
6
0
Hystrix降级逻辑中如何获取触发的异常

通过之前Spring Cloud系列教程中的《Spring Cloud构建微服务架构:服务容错保护(Hystrix服务降级)》一文,我们已经知道如何通过Hystrix来保护自己的服务不被外部依赖方拖垮的情况。但是实际...

程序猿DD
昨天
1
0
gin endless 热重启

r := gin.New()r.GET("/", func(c *gin.Context) {c.String(200, config.Config.Server.AppId)})s := endless.NewServer(":8080", r)s.BeforeBegin = func(add string) ......

李琼涛
昨天
1
0
JAVA模式之代理模式

平时一直在用spring,spring中最大的特效IOC和AOP,其中AOP使用的就是代理模式.闲着无聊,随手写了一个代理模式,也记录下代理模式的实现Demo. 比如现在有一个场景是:客户想要增加一个新的功能,...

勤奋的蚂蚁
昨天
0
0
ES15-JAVA API 索引管理

1.创建连接 创建连接demo package com.sean.esapi.client;import java.net.InetSocketAddress;import org.elasticsearch.action.get.GetResponse;import org.elasticsearch.clien......

贾峰uk
昨天
0
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部