如何在android中解析一个紧凑的JSON数组

时间:2013-09-16 15:08:53

标签: android json

我有一个像这样的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中显示我想要的任何值。

1 个答案:

答案 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;
}