Java 我能';通过JSON数组为下一个数组进行t循环

Java 我能';通过JSON数组为下一个数组进行t循环,java,android,json,getjson,Java,Android,Json,Getjson,我试图学习循环这个例子,但是我的json循环第一个数组(ident AFL274)和停止不循环下一个数组(CQH8971)(在json数据中有2个数组)我通过按钮调用这个函数 这是对json的调用 public String getInfo(String url) { try { String result = HttpGet(url); JSONObject json = new JSONObject(result); JSONOb

我试图学习循环这个例子,但是我的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;
}
试试这个

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;
}
public String[]getInfo(字符串url){
试一试{
字符串结果=HttpGet(url);
JSONObject json=新的JSONObject(结果);
JSONObject val=json.getJSONObject(“搜索结果”);
JSONArray数据=val.getJSONArray(“飞机”);
int arrayLength=data.length();
String[]strAryAns=新字符串[arrayLength];

对于(int i=0;i请重新表述您的问题所在。另外,显示JSON的其余部分。您不断使用以下行覆盖变量
String ans=data1.getString(“ident”)
除了将每个结果添加到数组中之外,您还只能从方法返回
ans
变量。我希望您也可以从单独的线程而不是在主线程上调用此方法。@kabuto178基本上是对的,覆盖
字符串ans
实际上是没有意义的,因为该变量的作用域仅限于循环体-当它返回时s
ans
他返回了一个未定义的变量。欢迎光临,很高兴为您提供帮助
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;
}