我有一个JSONObject
我正在解析,有时一些数据是空的。
在这种情况下,ReportId = null..so,我尝试使用三元运算符来阻止ClassCastException
,但是,它不起作用。
抛出错误的具体对象有"ReportId":null
....我不能这样做吗?
行:
item.setReportId((jsonObj.get("ReportId") != null || jsonObj.get("ReportId") != "null") ? (Integer)jsonObj.get("ReportId") : 0);
答案 0 :(得分:2)
尝试以下条件, 如果json中有有效的数字reportid,则设置报告ID,否则将0设置为报告ID
try{
reportId = (jsonObj.get("ReportId") != null) ? Integer.parseInt((String)jsonObj.get("ReportId")) : 0;
}catch(Exception ex){
reportId = 0;
}
item.setReportId(reportId);
答案 1 :(得分:1)
我刚看了JSONObject的文档,它似乎有许多方便的方法。例如:
item.setReportId( (!jsonObj.isNull("ReportId")) ? jsonObj.getInt("ReportId") : 0);