我创建了一个方法来解析json对象并返回一个字符串数组。
private String[] getAttributesfromJson(JSONObject attacheddataattributejson) {
String returnjsonArray[] = null;
JSONArray subcatarray = attacheddataattributejson.optJSONArray("subcatAttributes");
if(subcatarray!=null){
for(int i=0;i<subcatarray.length();i++)
{
returnjsonArray[i]=subcatarray.getJSONObject(i).optString("name");
}
}
return returnjsonArray;
}
但是我的eclipse在returnjsonarray[i]上显示了一个警告,它只能在这个位置为null,但是我也对subcatarray进行了null检查。请帮忙。
3条答案
按热度按时间disho6za1#
您可以使用以下代码。
eaf3rand2#
你初始化你的
returnjsonArray[]
至null
在没有初始化的情况下尝试访问它。java没有魔法
null
参考文献;而且,数组在java中不是动态分配的。如果你想那样,就用List
(您也应该初始化),并返回此列表的.toArray()
.nx7onnlm3#
看到这条线了吗
你忘了初始化它。
如果你以前不装满篮子,你就什么也得不到。