杰克逊 - InvalidFormatException反序列化ENUM

问题描述 投票:0回答:1

我想反序列化使用杰克逊 - 数据绑定Objectmapper其中有一组内它的枚举属性JSON字符串。这发生在一个未知的属性,这是不是在枚举定义进来的JSON。请发现我使用的对象映射配置如下。

    ObjectMapper objectMapper = new ObjectMapper();
    objectMapper.setVisibility(PropertyAccessor.ALL, Visibility.NONE);
    objectMapper.setVisibility(PropertyAccessor.FIELD, Visibility.ANY);
    objectMapper.setSerializationInclusion(Include.NON_NULL);
   objectMapper.configure(DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES, false);

但是,反序列化(objectMapper.readValue(jsonText,的.class);)抛出这个错误。 “测试”是进来的JSON字符串进行反序列化的未知属性。

com.fasterxml.jackson.databind.exc.InvalidFormatException:无法序列化从字符串“Test”类型com..*的地图键:不是一个有效的代表性,问题:(com.fasterxml.jackson.databind.exc.InvalidFormatException)无法反序列化的地图键从字符串“测试”键入com....:例外为Enum类值不是一个:[]

可能有人请帮助我这个问题?

谢谢!

jackson json-deserialization objectmapper fasterxml jackson-databind
1个回答
0
投票

这次终于通过编写自定义解串器滤除枚举值和设定他们固定。

© www.soinside.com 2019 - 2024. All rights reserved.