在我的 Android 应用程序中,我试图将来自 Google Places URL 的 JSON 数据解析为 ListView。我正在尝试列出附近餐馆的名称。解析似乎有效,但我不知道如何从 JSON 数据中获取“名称”变量。返回的列表中包含如下项目:
{"id":
"6217c344be105e............"
{"id":
"2c66bf813799zr2844......"
对我来说,它看起来像是在解析 Google Place URL 的“results”数组中的“id”变量。我希望它在“结果”数组中获取“名称”变量。有人可以告诉我正确的代码吗?这是我正在使用的 JSON 解析方法:
public void parseJSON() throws ClientProtocolException, IOException, JSONException
{
String bcURL="https://maps.googleapis.com/maps/api/place/search/json?"
+ "location=" + latString + "," + longiString
+ "&radius=15000&"
+ "types=restaurant&sensor=false&key="
+ myPlaceKey;
//--- Get Places URL ----
client = new DefaultHttpClient();
HttpResponse response = client.execute(new HttpGet(bcURL));
int statusLine = response.getStatusLine().getStatusCode();
if(statusLine == 200){
HttpEntity e = response.getEntity();
String data = EntityUtils.toString(e);
JSONObject urlData = new JSONObject(data);
JSONArray resultsArr = urlData.getJSONArray("results");
int length = resultsArr.length();
List<String> listContents = new ArrayList<String>(length);
for (int i = 0; i < length; i++)
{
listContents.add(resultsArr.getString(i));
}
ListView restListView = (ListView) findViewById(R.id.jsonList);
restListView.setAdapter(new ArrayAdapter<String>(this, android.R.layout.simple_list_item_1, listContents));
}
//--- END Get Places URL ----
和代码的列表视图部分:
JSONArray resultsArr = urlData.getJSONArray("results");
int length = resultsArr.length();
List<String> listContents = new ArrayList<String>(length);
for (int i = 0; i < length; i++)
{
listContents.add(resultsArr.getString(i));
}
ListView restListView = (ListView) findViewById(R.id.jsonList);
restListView.setAdapter(new ArrayAdapter<String>(this, android.R.layout.simple_list_item_1, listContents));
}
//--- END Get Places URL ----
“获取名称变量”的代码在哪里,该代码会是什么样子?