gpt4 book ai didi

java - 如何获取json数组中子数组的值

转载 作者:行者123 更新时间:2023-11-30 05:19:26 25 4
gpt4 key购买 nike

My Result and Expected Result我如何获取 JSON 中子数组的数组值,即 A 数组的值我想将结果填充到一个列表中,例如“Brimstone”,“Cross”,“Calvary”,这个问题实际上是我在完整代码可以在我的上一个问题中找到之前提出的问题的扩展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();
}
}

使用我的代码,我的列表中得到空白结果

最佳答案

尝试此代码

您正在为 A 的每个对象创建自定义对象数组列表

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");

List<SchoolClass> schoolClassList = new ArrayList<>();

for (int k = 0; k < jsonArray1.length(); k++) {
JSONObject jsonObject1 = jsonArray1.optJSONObject(k);
String name = jsonObject1.optString("name");

SchoolClass schoolClass = new SchoolClass();
schoolClass.setName(name);
schoolClassList.add(schoolClass);
}

}

} catch (JSONException e) {
e.printStackTrace();
}
}

关于java - 如何获取json数组中子数组的值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59797284/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com