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);