spring 解决返回对象指定的的属性顺序问题


说明:@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

 


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM