zoukankan      html  css  js  c++  java
  • 解决FastJSON反序列化顺序问题

    https://blog.csdn.net/meifannao789456/article/details/96828656

     
    版权
    fastjson默认在序列化时是按照字段的字母顺序进行序列化的,这样序列化出来的Json数据中字段的顺序就与类中定义的字段顺序不一致了。默认按字母排序序列化的速度会快一些,但是有时候我们并不希望按照字母顺序进行序列化。

    现在提供几种方式来支持自定义序列化顺序。

    自己设置排序规则,通过JSONType的orders来指定排序规则:
    // 设置排序规则
    @JSONType(orders={"user_name","passwd"})
    public class LoginBean {
    // 设置别名user_name
    @JSONField(name="user_name")
    private String userName; // 账户
    private String passwd; // 密码
    }
     
    通过JSONField的ordinal来指定顺序,这个特性需要1.1.42以上版本
    public static class VO {
    @JSONField(ordinal = 3)
    private int f0;

    @JSONField(ordinal = 2)
    private int f1;

    @JSONField(ordinal = 1)
    private int f2;
    }
     


    指定序列化的排序方式,使用Feature.OrderedField按照字段排序
    JSON.parseObject("...", Feature.OrderedField)
     
    官方提供的方式是配置JSONType.alphabetic的值为false,但是好像不太好用
    @JSONType(alphabetic = false)
    public static class B {
    public int f2;
    public int f1;
    public int f0;

     
    ————————————————
    版权声明:本文为CSDN博主「咻咻ing」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
    原文链接:https://blog.csdn.net/meifannao789456/article/details/96828656

  • 相关阅读:
    Oracle 字符集的查看和修改
    Hibernate查询方法与缓存的关系
    Oracle Sql语句整理
    Android动画效果
    Acrobat9键盘快捷键
    Head区的设置
    JAR,WAR,EAR区别
    ASCII码表完整版
    HTML的meta标签详解
    .NET中TextBox控件设置ReadOnly=true后台取不到值三种解决方法
  • 原文地址:https://www.cnblogs.com/kelelipeng/p/14769572.html
Copyright © 2011-2022 走看看