我有一个像这样的JSON对象:
{
"Successful": true,
"Value": {
"Materials":[{
"MaterialID": 37628,
"MaterialID": 0,
"MaterialNo": 26868,
"Type": 0,
"MaterialName": Copper
}],
"Prices": []
}
}
我正在尝试像这样获得材料阵列:
public ArrayList<Material> parseMaterial (JSONObject object)
{
try
{
JSONArray materialArray = object.getJSONArray("Materials");
}
catch (JSONException e)
{
Log.d("JSONParser=>parseMaterial", e.getMessage());
}
}
我得到这个例外:
JSONParser => parseMaterial:材料无值
您能告诉我代码有什么问题吗?谢谢。
最佳答案
您缺少一步:更改
JSONArray materialArray = object.getJSONArray("Materials");
至
JSONObject value = object.getJSONObject("Value");
JSONArray materialArray = value.getJSONArray("Materials");
getJSONArray
不会“搜索”整个对象(如果您在对象中有多个“材质”,则可能会产生不可预测的结果),而不会“搜索”整个对象。