【发布时间】:2020-05-04 22:15:56
【问题描述】:
如何获取 JSON 中子数组的数组值,即 A 数组的值 我想将结果填充到一个列表中,例如“Brimstone”、“Cross”、“Cal髅地”,这个问题实际上是我在之前的问题中可以找到完整代码之前提出的问题的扩展How to get the value of a child node of a json array
我的 JSON 文件
{
"schools": [
{
"A": [
{
"name": "Brimstone"
},
{
"name": "Cross"
},
{
"name": "Calvary"
}
]
}
]
}
我的 Java 代码
private void parseResult_GetWebData(String result) {
try {
JSONObject response = new JSONObject(result);
JSONArray jsonArray = response.getJSONArray("schools");
for (int i = 0; i < jsonArray.length(); i++) {
JSONObject jsonObject = jsonArray.optJSONObject(i);
JSONArray jsonArray1 = jsonObject.getJSONArray("A");
for (int k = 0; k < jsonArray1.length(); k++) {
JSONObject jsonObject1 = jsonArray1.optJSONObject(k);
String name = jsonObject1.optString("name");
List<SchoolClass> schoolClassList;
schoolClassList = new ArrayList<>();
SchoolClass schoolClass = new SchoolClass();
schoolClass.setName(name);
schoolClassList.add(schoolClass);
}
}
} catch (JSONException e) {
e.printStackTrace();
}
}
使用我的代码,我的列表中的结果为空白
【问题讨论】:
-
您已将
schoolClassList设为局部变量。它没有在任何地方通过。您声称如何填充 ListView? -
@user7 我正在另一个活动中填充列表,当我的 JSON 像这样编写
{ "A":[ {"name" : "Brimstone"}, {"name" : "Cross"}, {"name" : "Calvary"} ] }时,列表已成功填充,但我需要向其中添加另一个数组,这是主要问题,因此 listView已在代码的其他实例中填充,但我的最终 JSON 文件是按照问题中的方式编写的,所以我只是从学校读取数据然后到 A 然后到 A 的值的正确方法
标签: java arrays json android-studio listview