com.fasterxml.jackson.databind.JsonMappingException:重复创建者 属性 "id"(索引 0 对 1)
com.fasterxml.jackson.databind.JsonMappingException: Duplicate creator property "id" (index 0 vs 1)
我使用库 fasterxml 从我的服务器解析我的数据。
几个小时后,我开始收到此错误消息。当我尝试检索一些 json 时。我不知道为什么我会收到此消息,因为它之前工作正常。因此,如果有人能向我解释这是什么意思,那就太棒了。先谢谢你!
Caused by: com.fasterxml.jackson.databind.JsonMappingException: Duplicate creator property "id" (index 0 vs 1)
at com.fasterxml.jackson.databind.deser.DeserializerCache._createAndCache2(DeserializerCache.java:270)
at com.fasterxml.jackson.databind.deser.DeserializerCache._createAndCacheValueDeserializer(DeserializerCache.java:245)
at com.fasterxml.jackson.databind.deser.DeserializerCache.findValueDeserializer(DeserializerCache.java:143)
at com.fasterxml.jackson.databind.DeserializationContext.findContextualValueDeserializer(DeserializationContext.java:406)
at com.fasterxml.jackson.databind.deser.std.CollectionDeserializer.createContextual(CollectionDeserializer.java:164)
at com.fasterxml.jackson.databind.deser.std.CollectionDeserializer.createContextual(CollectionDeserializer.java:25)
at com.fasterxml.jackson.databind.DeserializationContext.handleSecondaryContextualization(DeserializationContext.java:653)
at com.fasterxml.jackson.databind.DeserializationContext.findContextualValueDeserializer(DeserializationContext.java:408)
这是我的 class :
@JsonIgnoreProperties(ignoreUnknown = true)
public class Dieser
implements Serializable
{
private static final long serialVersionUID = 8847499061681136159L;
@JsonProperty("id")
private long id;
@JsonProperty("nickName")
private String nickName;
@JsonProperty("photo")
private Photo photo;
@JsonProperty("mail")
private String mail;
@JsonProperty("password")
private String password;
@JsonProperty("dateTime")
private long dateTime;
@JsonProperty("dieseCount")
private int dieseCount;
@JsonProperty("activateAccount")
public boolean activateAccount;
@JsonProperty("activateDateTime")
public long activateDateTime;
public Dieser()
{
}
}
好的,我知道了。实际上问题出在另一个业务对象上,我将 JSON 属性 复制为 id
.
@JsonCreator
public Extra(@JsonProperty("id") String id, @JsonProperty("id") ExtraType type, @JsonProperty("label") String label,
@JsonProperty("points") int points)
{
this.id = id;
this.type = type;
this.label = label;
this.points = points;
}
堆栈跟踪并没有真正明确说明问题的来源。每次我需要解析任何对象时都会引发异常,这就是为什么我第一次没有看到它。
这种问题浪费了我很多时间。希望对以后的人有所帮助。
我使用库 fasterxml 从我的服务器解析我的数据。 几个小时后,我开始收到此错误消息。当我尝试检索一些 json 时。我不知道为什么我会收到此消息,因为它之前工作正常。因此,如果有人能向我解释这是什么意思,那就太棒了。先谢谢你!
Caused by: com.fasterxml.jackson.databind.JsonMappingException: Duplicate creator property "id" (index 0 vs 1)
at com.fasterxml.jackson.databind.deser.DeserializerCache._createAndCache2(DeserializerCache.java:270)
at com.fasterxml.jackson.databind.deser.DeserializerCache._createAndCacheValueDeserializer(DeserializerCache.java:245)
at com.fasterxml.jackson.databind.deser.DeserializerCache.findValueDeserializer(DeserializerCache.java:143)
at com.fasterxml.jackson.databind.DeserializationContext.findContextualValueDeserializer(DeserializationContext.java:406)
at com.fasterxml.jackson.databind.deser.std.CollectionDeserializer.createContextual(CollectionDeserializer.java:164)
at com.fasterxml.jackson.databind.deser.std.CollectionDeserializer.createContextual(CollectionDeserializer.java:25)
at com.fasterxml.jackson.databind.DeserializationContext.handleSecondaryContextualization(DeserializationContext.java:653)
at com.fasterxml.jackson.databind.DeserializationContext.findContextualValueDeserializer(DeserializationContext.java:408)
这是我的 class :
@JsonIgnoreProperties(ignoreUnknown = true)
public class Dieser
implements Serializable
{
private static final long serialVersionUID = 8847499061681136159L;
@JsonProperty("id")
private long id;
@JsonProperty("nickName")
private String nickName;
@JsonProperty("photo")
private Photo photo;
@JsonProperty("mail")
private String mail;
@JsonProperty("password")
private String password;
@JsonProperty("dateTime")
private long dateTime;
@JsonProperty("dieseCount")
private int dieseCount;
@JsonProperty("activateAccount")
public boolean activateAccount;
@JsonProperty("activateDateTime")
public long activateDateTime;
public Dieser()
{
}
}
好的,我知道了。实际上问题出在另一个业务对象上,我将 JSON 属性 复制为 id
.
@JsonCreator
public Extra(@JsonProperty("id") String id, @JsonProperty("id") ExtraType type, @JsonProperty("label") String label,
@JsonProperty("points") int points)
{
this.id = id;
this.type = type;
this.label = label;
this.points = points;
}
堆栈跟踪并没有真正明确说明问题的来源。每次我需要解析任何对象时都会引发异常,这就是为什么我第一次没有看到它。
这种问题浪费了我很多时间。希望对以后的人有所帮助。