我的JSON是这样的:
[{
"myviews":[{
"2011-05-12_2011-05-14":{
"name":"thiswk",
"data":[[12,
2403
],
[13,
2082
],
[14,
5823
]
]
}
},
{
"2011-06-05_2011-06-7":{
"name":"lastwk",
"data":[[5,
1279
],
[6,
6685
],
[7,
2163
]
]
}
}
]
}
]
JSONObject jo = new JSONObject(jsonString);
JSONArray ja;
jo = jo.getJSONObject("2011-05-12_2011-05-14");
ja = jo.getJSONArray("data");
int resultCount = ja.length();
for (int i = 0; i < resultCount; i++)
{
JSONObject resultObject = ja.getJSONObject(i);
resultObject.getJSONArray("12");
System.out.println("--");
}
我无法读取“data”数组下的值。得到此错误
线程“main”中的异常 org.json.JSONException:一个JSONObject 文字必须以字符'{'开头 1
答案 0 :(得分:8)
您正在尝试基于不代表对象的字符串创建JSONObject,而是创建包含一个对象的数组。
要获取包含的对象,请尝试
JSONArray inputArray = new JSONArray(jsonString);
JSONObject jo = inputArray.getJSONObject(0);
我认为你后来的一些工作也是错误的,但也许这会让你开始。
答案 1 :(得分:0)
data
似乎是一个数组数组。也许您需要致电ja.getJSONArray(i)
?