我有一个像这样的JSON数组:
[4,3,2,1,...]
这是一个简单的数组,我无法找到一个告诉我如何解析这个数组的教程。我想将每个元素分配给我创建的字符串数组,如:
String H[];
在从方法返回值时,我总是感到困惑,我感到困惑。例如: 在Oncreate()方法中,在初始化所有变量之后我输入:
solarData();
//displaying only one value from the String Array H[];
TextView.setText(H[0]);
public JSONArray solarData() throws JSONException{
//After getting response from HttpClient and getting result
JSONArray jArray = new JSONArray(result);
for(int i=0;i<jArray,length();i++){
String H[i] = jArray.getJSONObject(i).toString();
}
return jArray;
}
现在又回来了什么?我希望它返回String数组。这样我就可以从我存储这些值的String Array中显示我想要的任何值。
答案 0 :(得分:1)
从JSONArray documentation,你可以看到有一个构造函数,它接受一个有效的JSON字符串,并为你完成所有的解析工作。你似乎已经确定了这一点。
这里的问题是,在for循环的每次迭代中,您都在尝试创建一个新的String数组。您应该在循环之前初始化数组,然后在初始化之后填充其内容。这样的事情对你有用:
public JSONArray solarData() throws JSONException{
JSONArray jArray = new JSONArray(result);
// consider renaming H to something meaningful (e.g. planetList)
String H[] = new String[jArray.length()];
for (int i=0; i < jArray,length() ;i++) {
H[i] = jArray.getJSONObject(i).toString();
}
return jArray;
}