fastjson icon indicating copy to clipboard operation
fastjson copied to clipboard

JSONType注解排序失效

Open rayliu8499 opened this issue 1 year ago • 1 comments

使用JSON.toJSONString()方法,发现排序对象类的时候@JSONType失效

具体字段如下:

@Data
@JSONType(orders = {"spu, address"})
public class GoodsAvailableCheckRequest implements Serializable {

    private List<Spu> spu;

    private Address address;

    @Data
    @JSONType(orders = {"sku", "number"})
    public static class Spu implements Serializable {

        private Long sku;

        private String number;

    }

    @Data
    @JSONType(orders = {"consignee", "phone", "province", "city", "area", "street", "description"})
    public static class Address implements Serializable {

        private String consignee;

        private String phone;

        private String province;

        private String city;

        private String area;

        private String street;

        private String description;

    }
}

执行JSON.toJSONString()之后字符串如下: {"address":{"consignee":"略略略","phone":"18787878787","province":"福建省","city":"南平市","area":"建瓯市","street":"东峰镇","description":"V5落空"},"spu":[{"sku":9221,"number":"1"},{"sku":9907,"number":"1"},{"sku":4030087,"number":"1"},{"sku":335692197,"number":"1"},{"sku":335692230,"number":"1"},{"sku":335701911,"number":"1"},{"sku":335703931,"number":"1"},{"sku":336935125,"number":"1"},{"sku":336935230,"number":"1"},{"sku":381499025,"number":"1"},{"sku":386162915,"number":"1"}]}

问题 : 未按预期对address和spu进行排序

rayliu8499 avatar Oct 31 '23 02:10 rayliu8499

使用@JSONField(orordinal = x)可以解决这个问题

rayliu8499 avatar Oct 31 '23 02:10 rayliu8499