说明:@JsonPropertyOrder 勇于fastjson 对对象字段实现排序使用
1.@JsonPropertyOrder(value = {"name", "id"})
明确制定字段排序顺序 name ==》 id
实体类属性
public class WorkingPlace implements Serializable { private static final long serialVersionUID = 163375549891371085L; /** * 主键 */ private Long id; /** * 部门名称 */ private String name; }
请求返回顺序(测试发现是按照实体类从上到下的属性返回的)
{ "id": 4, "name": "xxx" }
现在要求返回顺序变化、name在id 的上面可以设置:
@JsonPropertyOrder(value = {"name", "id"}) public class WorkingPlace implements Serializable { private static final long serialVersionUID = 163375549891371085L; /** * 主键 */ private Long id; /** * 部门名称 */ private String name; }
2、@JsonPropertyOrder(alphabetic = true)
使用字段的字母排序
可以使用到类,属性比如map<String,String
实体类中的属性 @JsonPropertyOrder(alphabetic = true) private Map<String, String> fieldDetails; public Map<String, String> getFieldDetails() { return fieldDetails; } public void setFieldDetails(Map<String, String> fieldDetails) { this.fieldDetails = fieldDetails; } 使用时设置 xxx.setFieldDetails(ImmutableMap.of("name", "name", "id", "id")); 输出顺序: name ==> id