如何使用不同的JsonViews序列化子类

时间:2018-08-21 18:13:20

标签: java serialization jackson json-view

下面是两个Dto对象以及用于此场景的Json Views Im。因此,首先是代码(为简洁起见,简称),然后是我的问题:

public class CompanyUserDto {
    @JsonView({ PlannerJsonView.DropDownList.class })
    private String username;

    @JsonView({ PlannerJsonView.MasterDataDetails.class })
    private Set<AccessLevelDto> accessLevels = new HashSet<>();
}


public class AccessLevelDto {
    @JsonView({ PlannerJsonView.DropDownList.class })
    private Long id;

    @JsonView({ PlannerJsonView.DropDownList.class })
    private String name;
}

public class PlannerJsonView {
    public static class DropDownList { }
    public static class MasterData extends DropDownList { }
    public static class MasterDataDetails { }
}

这是我需要做的: 当我使用CompanyUserDto视图序列化MasterDataDetails时,我需要AccessLevelDto对象的列表,每个对象包含idname字段。但是,由于这些字段不是MasterDataDetails视图的一部分,因此我遇到了麻烦。这是设计使然的,因为AccessLevelDto在应用程序的其他位置单独序列化,并且需要我拥有的视图。

任何帮助将不胜感激。

预先感谢,格兰特

0 个答案:

没有答案