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 に答える