{
"App":[{
"AppID": 0,
"AppTime": "08:00 AM"
}],
"Rows": 0
}
这是我的JSON响应,但是当我映射到我的POJO类并访问时,我得到NullPointerException
。
ListResponse value = new Gson().fromJson(result, ListResponse.class);
import java.util.List;
public class ListResponse{
public List<AppList> appList;
public List<AppList> getAppList() {
return appList;
}
}
当我尝试在我的活动类中访问我的结果时,就像这样我得到一个错误。
public void accessData(ListResponse result){
System.out.println(result.getAppList()); // I am getting null here.
}
更新
我的AppList类包含 AppID,AppTime and
行。
答案 0 :(得分:0)
我认为您将回复存储在value
ListResponse value = new Gson().fromJson(result, ListResponse.class);
因此请尝试拨打value.getAppList()
:
public void accessData(ListResponse result){
System.out.println(value.getAppList()); // shouldn't get NullPointer
}
如果值可能为null
,则进行空检查也是个好主意:
public void accessData(ListResponse result){
if(value != null){
System.out.println(value.getAppList()); // shouldn't get NullPointer
}else{
System.out.println("value is null");
}
}
答案 1 :(得分:0)
当您使用GSon将String
转换为Object(在您的情况下是ListResponse
对象)时,此类中的属性名称需要与键中的属性完全相同json字符串。
你的问题:json中的键是“App”:
"App":[{
"AppID": 0,
"AppTime": "08:00 AM"
}],
属性名称为appList
。尝试将appList
放在json中,或者更改为班级中的public List<AppList> App;
。
这应解决null。