gpt4 book ai didi

java - jackson JsonMappingException : Invalid type id

转载 作者:行者123 更新时间:2023-11-30 06:53:05 24 4
gpt4 key购买 nike

我有一个模型,其字段注释为:

@JsonTypeInfo(use = CLASS)
private Object dudClass;

主要问题是,当我尝试反序列化此对象并且类路径上没有此 dudClass 实例时,我将收到异常:

Caused by: com.fasterxml.jackson.databind.JsonMappingException: Invalid type id 'pl.erbel.DudClass' (for id type 'Id.class'): no such class found.

有什么简单的方法可以忽略这个异常吗?我不想忽略序列化/反序列化,因为我需要在不同的模块中使用它。我只有两个客户端:一个在类路径上有 DudClass,第二个没有该类。

最佳答案

这可能不是完美的解决方案,但这是一种解决方法。您可以使用 JsonAnyGetterJsonAnySetter 来使用附加属性,而不是在 POJO 中使用 dudClass。您需要从父类中删除 dudClass 并包含以下代码

@JsonIgnore
private Map<String, Object> additionalProperties = new HashMap<String, Object>();

@JsonAnyGetter
public Map<String, Object> getAdditionalProperties() {
return this.additionalProperties;
}

@JsonAnySetter
public void setAdditionalProperty(String name, Object value) {
this.additionalProperties.put(name, value);
}

这样做是在反序列化时,而不是每次设置响应 Map 时出现的任何其他对象时都尝试设置 dudClass,以对象名称作为键(在您的情况下为 dudClass),将对象内容作为值(value)。您只需查看 Map 是否存在 dudClass 键即可。

如果这不能解决您的问题或需要澄清,请告诉我!

关于java - jackson JsonMappingException : Invalid type id,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42372827/

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