我的json:
[
{
"all": {
"dates": [
{
"date": "2011-01-18",
"name": "asd"
},
{
"date": "2011-02-19",
"name": "ddd"
},
{
"date": "2011-11-21",
"name": "eee"
}
],
"dep": [
{
"code": "BBB",
"name": "BUD"
}
],
"citys": [
{
"id": "2163",
"name": "ASD"
},
{
"id": "2369",
"name": "EFG"
},
...
我的代码
JSONArray json = new JSONArray(s); //json string
for(int i=0;i<json.length();i++){
String settings = json.getJSONObject(i).getString("all");
JSONArray jsonarray = new JSONArray(settings);
for (int j=0; j<jsonarray.length();j++){
String dates = jsonarray.getJSONObject(j).getString("dates");
JSONArray jsonarray2 = new JSONArray(dates);
for (int k=0; k<jsonarray2.length();k++){
String date = jsonarray2.getJSONObject(k).getString("date");
Log.e("date", date);
}
..
07-19 09:52:31.356:ERROR / ex(19038):org.json.JSONException:Value { “城市的”:[{ “ID”: “2163”,“...
如何正确解析此文件?
谢谢,Leslie
答案 0 :(得分:3)
json.getJSONObject(i).getString("all");
JSONArray jsonarray = new JSONArray(settings);
'all'是一个JSONObject,而不是JSONArray,所以获取JSONObject并获取JSONArrays date,dep,citys。
可以直接从String获取json.getJSONObject(i).getJSONObject("all");
或getJSONObject,
JSONObject jsonobj = new JSONObject(settings);