DAr*_*rkO 11 android json pojo jackson
我需要帮助解析杰克逊映射器到POJO的响应.我有这个作为回应:
"data": [{
"item": {
"downloaded": false,
"moderated": false,
"add": false
}
},
{
"item": {
"downloaded": false,
"moderated": false,
"add": false }
// more
Run Code Online (Sandbox Code Playgroud)
那么如何将这个与mapper绑定到POJO?这是我正在尝试的类,但它返回"item"无法识别且不允许被忽略.
public ArrayList<Item> data = new ArrayList<Item>();
Run Code Online (Sandbox Code Playgroud)
其中item是一个公共静态类Item,带有构造函数,上面的所有字段都带有getter和setter.
我该怎么做呢.我似乎无法找到如何以这种方式从数组中读取数据.
小智 12
JsonNode jsonNode = mapper.readValue(s, JsonNode.class);
JsonNode userCards = jsonNode.path("data");
List<Item> list = mapper.readValue(userCards.toString(), new TypeReference<List<Item>>(){});
Run Code Online (Sandbox Code Playgroud)
您的示例缺少几个部分(尤其是Item的定义),以了解您的结构是否兼容; 但一般来说JSON和Object结构需要匹配.所以,你至少需要这样的东西:
public class DataWrapper {
public List<Item> data; // or if you prefer, setters+getters
}
Run Code Online (Sandbox Code Playgroud)
如果是这样,你会绑定:
DataWrapper wrapper = mapper.readValue(json, DataWrapper.class);
Run Code Online (Sandbox Code Playgroud)
和访问数据
List<Item> items = wrapper.data;
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
9447 次 |
| 最近记录: |