Java 基础教程

Java 面向对象

Java 高级教程

Java 笔记

Java FAQ

original icon
版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://www.knowledgedict.com/tutorial/java-fastjson-bean-specify-field-order-to-string.html

fastjson 序列化 json 字符串时字段/属性如何指定顺序

Java 笔记 Java 笔记


通过 alibaba 的 fastjson 库序列化 java bean 对象时,字段/属性如何在 JSON.toJSONString(bean) 指定顺序?

正确方法

fastjson 提供了 @JSONField 注解,结合注解中的 ordinal 指定字段的顺序,该属性从 1.1.42 版本开始支持。

public class User {

    @JSONField(ordinal = 0)
    private String name;

    @JSONField(ordinal = 1)
    private int sex;

    @JSONField(ordinal = 2)
    private String email;
    
    ......
}

示例:

import com.alibaba.fastjson.JSON;

public class JSONDemo {

    public static void main(String[] args) {

        User user = new User();
        user.setName("knowledge");
        user.setSex(1);
        user.setEmail("dict@google.com");

        System.out.println(JSON.toJSONString(user));
    }

}

输出如下:

{"name":"knowledge","sex":1,"email":"dict@google.com"}
Java提供了多种序列化的方式,其中最常用的是使用Java内置的序列化机制,即通过实现`java.示例代码(使用Jackson库):###X ...
在 python 中,如何让 json 格式数据写入指定文件,其本质上是 json 形式的对象数据(如字典 dict)输出到特定文件的问题。 ...
java 的 fastjson 库我们常用做 JSON 数据结构的工具库,其 API 中没有直接提供能判断当前 Json 字符串或 JSON ...
在Java中,将JSON字符串转换为JSON对象可以使用多种不同的方式。示例代码:###方式二:使用Jackson库添加依赖(Maven和G ...
python 字符串 str 转 json 对象(本质上的 python 的 dict 对象)可以利用标准库中提供的 json 模块的 lo ...