作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我有一个像这样的 JSON 对象:
{
"Successful": true,
"Value": {
"Materials":[{
"MaterialID": 37628,
"MaterialID": 0,
"MaterialNo": 26868,
"Type": 0,
"MaterialName": Copper
}],
"Prices": []
}
}
我正在尝试获取这样的 Material 数组:
public ArrayList<Material> parseMaterial (JSONObject object)
{
try
{
JSONArray materialArray = object.getJSONArray("Materials");
}
catch (JSONException e)
{
Log.d("JSONParser=>parseMaterial", e.getMessage());
}
}
我得到这个异常:
JSONParser=>parseMaterial﹕ No value for Materials
你能告诉我代码有什么问题吗?谢谢。
最佳答案
您缺少一个步骤:更改
JSONArray materialArray = object.getJSONArray("Materials");
至
JSONObject value = object.getJSONObject("Value");
JSONArray materialArray = value.getJSONArray("Materials");
getJSONArray
不会“搜索”整个对象(如果对象中有多个 Material ,这可能会产生不可预测的结果),只会搜索第一级。
关于java - "No value for"getJSONArray 异常,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31312093/
我是一名优秀的程序员,十分优秀!