Skip to content

[FEATURE]如何得到反序列化的Type #527

@leonchen83

Description

@leonchen83

请描述您的需求或者改进建议

对您想要需求或建议的清晰简洁的描述。

fastjson1的兼容包里return deserialze(parser, null, null);, 这里的type和fieldName都是null

public interface ObjectDeserializer
        extends ObjectReader {
    @Override
    default Object readObject(JSONReader jsonReader, long features) {
        DefaultJSONParser parser = new DefaultJSONParser(jsonReader, ParserConfig.global);
        return deserialze(parser, null, null);
    }

    <T> T deserialze(DefaultJSONParser parser, Type type, Object fieldName);

    default int getFastMatchToken() {
        return JSONLexer.UNKNOWN;
    }
}

那么在写fastjson2的反序列化器,实现ObjectReader时,如何得到typefield, 我们定制了很多自己的序列化器与反序列化器,需要这个类型信息, fastjson1可以做到取得这个类型信息, jackson 的话实现ContextualDeserializer也可以做到取得类型信息

请描述你建议的实现方案

对您想要需求或建议的实现方案的详细描述。

描述您考虑过的替代方案

对您考虑过的任何替代解决方案或功能的描述。

附加信息

如果你还有其他需要提供的信息,可以在这里填写(可以提供截图、视频等)。

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or request

    Type

    No type

    Projects

    No projects

    Milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions