我很难使用Jackson将Json String转换为java中的Object。
模型
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]
问题:
出了什么问题?
我是否需要杰克逊的getter / setter或公共成员才能工作 细
答案 0 :(得分:1)
您的JSON不正确,最后缺少一个结束的大括号(}
)。
更改自:
String con = "{\"ads\":[{\"id_ad\":\"20439\"}, {\"id_ad\":\"20449\"}]";
为:
String con = "{\"ads\":[{\"id_ad\":\"20439\"}, {\"id_ad\":\"20449\"}]}";