我有一个像这样的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 =&gt; parseMaterial:材料没有值
你能告诉我代码有什么问题吗?感谢。
答案 0 :(得分:1)
你错过了一步:改变
JSONArray materialArray = object.getJSONArray("Materials");
到
JSONObject value = object.getJSONObject("Value");
JSONArray materialArray = value.getJSONArray("Materials");
getJSONArray
没有“搜索”整个对象(如果对象中有多个材质,这可能会产生不可预测的结果),只有第一级。