Android にプロジェクトがあり、データを使用できるように解析する必要がある JSON がここにあります (JSONLint.com で JSON を検証しようとしましたが、すべて問題ありません)。
{
"traces": [
"{\"lat\": \"42.842097\", \"lng\": \"-31.258422\", \"idTrace\": \"444e8079\"}",
"{\"lat\": \"56.842097\", \"lng\": \"-73.258422\", \"idTrace\": \"088b591a\"}"
]
}
問題は、JSONArray 内の 2 つの JSONObjects を取得しようとすると、常にエラーが発生することです。
ここに私のコードのスニペットがあります:
(...)
StringBuilder builder = new StringBuilder();
for (String line = null; (line = reader.readLine()) != null;)
{
builder.append(line).append("\n");
}
JSONObject result = new JSONObject(builder.toString());
JSONArray list = result.getJSONArray("traces");
try{
for (int i = 0; i < list.length(); i++)
{ //this is where I get the error "JSONArray[0] is not a JSONObject"
JSONObject jsonObject = list.optJSONObject(i);
//String id = jsonObject.getString("idTrace");
//String lat = jsonObject.getString("lat");
//String lng = jsonObject.getString("lng");
(...)
}
(...)
問題が何であるかを見つけるためにたくさん検索しましたが、人々は私とまったく同じことをしているようです...それが機能しない理由を見つけることができません!
助けてくれてありがとう!