我上课的字段为names
:
private List<String> names;
我得到的杰森看起来像:
"names": [
{
"name": "a",},{
"name": "b",{
"name": "c",}
]
所以我使用自定义序列化将此json转换为List:
@JsonProperty("names")
private void deserializeNames(List<Map<String,String>> json) {
names = json.stream().map(e -> e.get("name")).collect(Collectors.toList());
}
此解决方案有效,但是当我要序列化我的类的对象时,新的json将如下所示:
"names": [
"a","b","c"
]
我的自定义序列化代码将无法使用,因为它需要Map
而不是List
我试图使用instanceof
来解决该问题,或者使用反序列化列表进行映射,但是我认为这是错误的解决方案。
有没有解决这个问题的简便方法?