杰克逊,在 List<> 处获得空返回
Posted
技术标签:
【中文标题】杰克逊,在 List<> 处获得空返回【英文标题】:Jackson, getting null return at List<> 【发布时间】:2017-11-30 13:32:17 【问题描述】:我不明白为什么返回null
?
有 2 节课需要 Jackson 和 String Volley 请求
StringRequest request = new StringRequest(Request.Method.GET,regions, new Response.Listener<String>()
@Override
public void onResponse(String response)
Log.d(TAG,"response"+ response);
try
ObjectMapper mapper=new ObjectMapper();
Pojo pojo=mapper.readValue(response,Pojo.class);
System.out.println(pojo.toString());
catch (IOException e)
e.printStackTrace();
json
"success": true,
"data": [
"id": "1",
"name": "RegionABC"
,
"id": "2",
"name": "RegionDEF"
,
]
它由 2 个类解析:
Pojo
public class Pojo
public Pojo()
private boolean success;
private List<Pojo> data;
@JsonProperty("data")
public List<Pojo> getDataPojo()
return data;
public void setDataPojo(List<Pojo> data)
this.data = data;
// getters & setters
@JsonProperty("success")
public boolean isSuccessPojo()
return success;
public void setSuccessPojo(boolean success)
this.success = success;
@Override
public String toString()
return "data "+data;
和DataPojo
public class DataPojo
private String id, name;
public String getIdDataPojo()
return id;
public void setIdDataPojo(String id)
this.id = id;
public String getNameDataPojo()
return name;
public void setNameDataPojo(String name)
this.name = name;
我在哪里输入了错误的代码?它仅适用于简单字符串,但适用于 List<>
- 否。
【问题讨论】:
【参考方案1】:在您的代码中找到这部分:
@JsonProperty("data")
public List<Pojo> getDataPojo()
return data;
public void setDataPojo(List<Pojo> data)
this.data = data;
并用以下代码替换:
@JsonProperty("data")
public List<DataPojo> getDataPojo()
return data;
public void setDataPojo(List<DataPojo> data)
this.data = data;
【讨论】:
以上是关于杰克逊,在 List<> 处获得空返回的主要内容,如果未能解决你的问题,请参考以下文章