Java 我能';通过JSON数组为下一个数组进行t循环
我试图学习循环这个例子,但是我的json循环第一个数组(ident AFL274)和停止不循环下一个数组(CQH8971)(在json数据中有2个数组)我通过按钮调用这个函数 这是对json的调用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
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
实际上是没有意义的,因为该变量的作用域仅限于循环体-当它返回时sans
他返回了一个未定义的变量。欢迎光临,很高兴为您提供帮助
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;
}