0

我有一个这样的 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;
}

现在它返回了什么?我希望它返回字符串数组。这样我就可以从存储这些值的字符串数组中显示我想要的任何值。

4

1 回答 1

1

JSONArray 文档中,您可以看到有一个构造函数,它采用有效的 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;
}
于 2013-09-16T15:36:13.170 回答