0

我有测试表,当通过 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);
4

1 回答 1

0

或者这是解决这个问题的最佳方法:

http://code.google.com/p/google-api-java-client/wiki/APIs#Fusion_Tables_API

来自 Google 的客户端 Java 库应该工作得最好。

于 2012-08-06T11:41:59.157 回答