【问题标题】:Jackson Json List inside object对象内的杰克逊 Json 列表
【发布时间】:2017-05-15 02:29:45
【问题描述】:

我在使用 Jackson 将 Json 字符串转换为 Java 中的对象时遇到了困难。

型号

public class MyList {    
   public List<MyObj> ads;
}

public class MyObj {    
   public String id_ad;
}

数据:

String con = "{\"ads\":[{\"id_ad\":\"20439\"}, {\"id_ad\":\"20449\"}]";

检索代码:

ObjectMapper objectMapper = new ObjectMapper();
MyList annonces = objectMapper.readValue(con, MyList.class);

错误:

Erreur dans getAllAds: com.fasterxml.jackson.core.io.JsonEOFException: 
Unexpected end-of-input: expected close marker for Object (start marker at [Source: {"ads":[{"id_ad":"20439"}, {"id_ad":"20449"}]; line: 1, column: 1])
 at [Source: {"ads":[{"id_ad":"20439"}, {"id_ad":"20449"}]; line: 1, column: 91]

问题:

  1. 怎么了?

  2. 我是否需要为 Jackson 或公共成员工作的 getter/setter 好吗?

【问题讨论】:

    标签: java json jackson


    【解决方案1】:

    您的 JSON 不正确,最后缺少一个右大括号 (})。

    更改自:

    String con = "{\"ads\":[{\"id_ad\":\"20439\"}, {\"id_ad\":\"20449\"}]";
    

    到:

    String con = "{\"ads\":[{\"id_ad\":\"20439\"}, {\"id_ad\":\"20449\"}]}";
    

    【讨论】:

      猜你喜欢
      • 2014-05-19
      • 1970-01-01
      • 2016-12-07
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-01-11
      • 1970-01-01
      • 2013-05-11
      相关资源
      最近更新 更多