我有测试表,当通过 SQL 查询 URL 检索时给出:
{
"kind": "fusiontables#sqlresponse",
"columns": [
"index",
"name",
"latitude",
"longitude",
"address"
],
"rows": [
[
"1",
"Shop1",
"28.575326",
"77.32237",
"Sector 19"
],
[
"2",
"Shop2",
"43.34343",
"44.34343",
"Setor 18"
]
]
}
我无法解析这个 Json。它期望在数组开头有一个 JSOn 对象:
"rows": [
如何解析这种 JSON?在我看到的所有示例中,它需要一个 key_value 对和数组中的对象(以“{”开头)而不是“[”。
我使用以下代码进行解析:
// Creating JSON Parser instance
JSONParser jParser = new JSONParser();
// getting JSON string from URL
JSONObject json = jParser.getJSONFromUrl(url);
try {
// Getting Array of Contacts
contacts = json.getJSONArray(TAG_ROWS);
// looping through All Contacts
for(int i = 0; i < contacts.length(); i++){
JSONObject c = contacts.getJSONObject(i);
// Storing each json item in variable
String id = c.getString(TAG_INDEX);
}
} catch (JSONException e) {
e.printStackTrace();
}
它在行抛出 JSONEXception
JSONObject c = contacts.getJSONObject(i);