gpt4 book ai didi

java - Jackson 的 StdDeserializer 的构造函数中使用的 Class vc 或 JavaType valueType 是什么

转载 作者:塔克拉玛干 更新时间:2023-11-02 19:13:55 26 4
gpt4 key购买 nike

我正在使用 Jackson JSON library 制作自定义解串器(扩展 StdDeserializer)而且我无法弄清楚构造函数参数的目的是什么。什么是 Class<?>JavaType valueType jackson 用的?是否只是因为 Java 没有具体化的泛型,而 Jackson 需要有关您正在创建实例的泛型类型的更多信息?

最佳答案

Jackson 将 JSON 结构与 Java 类匹配。就像 JAXB 将 java 类映射到 XSD-s 一样。

所以,这个Class<?> (或 JavaType)定义了哪个 java 类属于这个反序列化器。这些 java 类可以是任何具有正确注释的东西,比如 @JsonProperty .

另一个问题:为什么这个类是泛型的?这是因为 [java.lang.Class][1]是通用的。如果你想正确地做到这一点,那么你可以这样指定它:

StdDeserializer serializer = new StdDeserializer(YourClass.class);

重点是 StdSerializer 不绑定(bind)您可以指定的类。

关于java - Jackson 的 StdDeserializer 的构造函数中使用的 Class<?> vc 或 JavaType valueType 是什么,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39406574/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com