如何使杰克逊的JSON Schema生成器可以看到泛型类型信息

时间:2014-06-06 19:11:47

标签: java json jackson jsonschema

给定一个具有Map属性的类:

public class MyClass implements Serializable {

    private Map<String, Double> map = new HashMap<String, Double>();

    public Map<String, Double> getMap() {
        return map;
    }

    public void setMap(Map<String, Double> map) {
        this.map = map;
    }
}

我想知道杰克逊框架的ObjectMapper生成的JSONSchema是否可以看到key = String和value = Double的泛型类型。如果没有任何注释,JSONSchema只会将其输出为Object。

1 个答案:

答案 0 :(得分:0)

由于类型擦除,您需要使用Jackson的TypeReference class来告知ObjectMapper类型。 Jackson页面上的“3 Minute Tutorial”部分提供了更多信息。您还可以在getter和setter上使用@JsonSerialize and @JsonDeserialize注释来指示键和值类型。