com.fasterxml.jackson.databind.JsonMappingException: дубликат свойства создателя "id" (индекс 0 против 1)

Я использую библиотеку fastxml для анализа моих данных с моего сервера. Через пару часов я начал получать это сообщение об ошибке. Когда я пытаюсь получить 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)

вот мой класс:

@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()
  {
  }

}

1 ответ

Решение

Ладно, я понял. На самом деле проблема была в другом бизнес-объекте, где у меня было свойство 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;
}

Трассировка стека была не совсем ясна о том, откуда возникла проблема. Исключение возникало каждый раз, когда мне нужно было проанализировать какой-либо объект, поэтому я не увидел его в первый раз.

Такая проблема тратит впустую много времени. Надеюсь, что это может помочь кому-то в будущем.

Другие вопросы по тегам