fastjson
fastjson copied to clipboard
JSONType注解排序失效
使用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进行排序
使用@JSONField(orordinal = x)可以解决这个问题