Json 扁平化对象 @JsonUnwrapped

@Data
public class Account {

    @JsonUnwrapped
    private Location location;
    @JsonUnwrapped
    private PersonInfo personInfo;

    @Data
    public static class Location {
        private String provinceName;
        private String countyName;
    }

    @Data
    public static class PersonInfo {
        private String userName;
        private String fullName;
    }

}

未扁平化之前:

{
    "location": {
        "provinceName":"广东",
        "countyName":"深圳"
    },
    "personInfo": {
        "userName": "111",
        "fullName": "222"
    }
}

使用 @JsonUnwrapped 扁平对象之后:

{
  "provinceName":"广东",
  "countyName":"深圳",
  "userName": "111",
  "fullName": "222"
}

不同对象间有相同名称的属性?会怎么样,会报错吗?答案是不会,都会正常返回,只是对前端而言有歧义罢了~,此时可以借助 @JsonUnwrapped 的 suffix 和 prefix 来规避这个问题

JsonUnwrapped
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容