java - 我无法循环遍历 JSON 数组来获取下一个数组

标签 java android json getjson

我尝试学习Loop through a JSON object in Java for循环这种情况。但是我的json循环第一个数组(ident AFL274)并且停止不循环下一个数组(CQH8971)(在json数据中有2个数组)我通过按钮调用这个函数。

这用于调用 json

public String getInfo(String url) {  
    try {
        String result  = HttpGet(url);
        JSONObject json = new JSONObject(result);
        JSONObject val = json.getJSONObject("SearchResult");
        JSONArray data = val.getJSONArray("aircraft");

        for(int i=0;i<data.length();i++)
        {
            JSONObject data1 = data.getJSONObject(i);
            String ans = data1.getString("ident");
        }

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

    return ans;
}

还有这个 JSON:

{
    "SearchResult": {
        "next_offset": -1,
        "aircraft": [
            { 
                "ident": "AFL274", 
                "type": "B77W" 
            },
            { 
                "ident": "CQH8971", 
                "type": "A320"
            }
        ]
    }
}

最佳答案

试试这个,

public String[] getInfo(String url) {  
    try {
        String result  = HttpGet(url);
        JSONObject json = new JSONObject(result);
        JSONObject val = json.getJSONObject("SearchResult");
        JSONArray data = val.getJSONArray("aircraft");
        int arrayLength = data.length();
        String[] strAryAns = new String[arrayLength]; 

        for(int i=0;i<arrayLength;i++)
        {
            JSONObject data1 = data.getJSONObject(i);
            strAryAns[i] = data1.getString("ident");
        }

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

    return strAryAns;
}

关于java - 我无法循环遍历 JSON 数组来获取下一个数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22123898/

相关文章:

java - Hibernate 查询语法异常

javascript - 如何将纸张切换按钮状态绑定(bind)到其标签 - Polymer

c# - 序列化实体对象

ruby-on-rails - Ruby - 无法将 JSON 参数放入我的 Controller

java - 从android中的另一个应用程序获取数据

java - 如何从另一个单独的类更改 java Cardlayout

java - 如何在java中读取使用python的struct.pack方法编写的字符串

java - 已完成作业,但是 while 循环出现问题,给了我错误的答案

android - 使用 react-native-push-notification,App 在收到新的 FCM 通知时崩溃

java - 向Endpoints Server失败注册(与App Engine连接的Android项目)