【发布时间】:2016-05-11 10:14:26
【问题描述】:
我有一个类似的 json 结构
{"myobj": { "ford" : [ {"color":"blue","ford_property":"A" } ], "audi": [ {"color":"red", "audi_property":"B"}, {"color":"black", "audi_property":"C"} ] } }
类结构是
abstract class Car implements Serializable {
private String color;
// getter setter here
}
class Ford extends Car {
private String fordProperty;
// getter setter here
}
class Audi extends Car {
private String audiProperty;
// getter setter here
}
我的响应类
class Response implements Serializable {
private Map<String, List<Car>> myObj;
// getter setters
}
尝试在Car 类上使用@JsonSubTypes,但它期望class 名称的type 作为对象{"color":"blue","ford_property":"A" } 的一部分。
谢谢
【问题讨论】:
-
我不知道我是否遇到了你的问题,但无论如何我都会建议 [Polymorphic JSON with jackson] (programmerbruce.blogspot.it/2011/05/…)
-
我用杰克逊尝试了多态 JSON,问题是我没有
type作为课程的一部分。但是type是类列表的键。所以我有{dog:[{name:foo}]}而不是[{type:dog,name:foo}] -
好的,如果我是你,我会使用自定义反序列化器。 Jackson – Custom Deserializer
标签: java json jackson objectmapper