【问题标题】:com.fasterxml.jackson.databind.JsonMappingException: Duplicate creator property "id" (index 0 vs 1)com.fasterxml.jackson.databind.JsonMappingException:重复的创建者属性“id”(索引 0 与 1)
【发布时间】:2016-02-21 19:22:33
【问题描述】:

我使用库 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)

这是我的课:

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

}

【问题讨论】:

    标签: android json fasterxml


    【解决方案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;
    }
    

    堆栈跟踪并没有明确说明问题的来源。每次我需要解析任何对象时都会引发异常,这就是我第一次没有看到它的原因。

    这种问题浪费了我很多时间。希望这可以帮助将来的人。

    【讨论】:

      猜你喜欢
      • 2011-10-23
      • 1970-01-01
      • 2014-09-24
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-10-18
      • 2018-10-19
      相关资源
      最近更新 更多