当我打电话服务器它的响应是基于JSON对象。 其实,我知道如何解析JSON对象,但这种反应是奇怪的我。 服务器的响应是:
{"body":"Not Available!","clazz":"SoccerMatchPreview","id":{"inc":-2024241794,"machine":415106952,"new":false,"time":1337861978000,"timeSecond":1337861978},"publishedDate":"2012-06-08 17:00:00 +0100","refKey":"SoccerMatchPreview_4fb897be18be8b87f9117595","title":"Poland vs Greece"}
那些我需要的信息是身体,publishedDate,refKey和标题。 我已经基于JSON对象编写的代码是这样的:
JSONObject jObject = new JSONObject(response);
JSONArray contestantObjects = jObject.getJSONArray("id");
for(int i=0; i<contestantObjects.length(); i++) {
mPreview.setBody(contestantObjects.getJSONObject(i).getString("body").toString());
mPreview.setPublishedDate(contestantObjects.getJSONObject(i).getString("publishedDate").toString());
mPreview.setRefKey(contestantObjects.getJSONObject(i).getString("refKey").toString());
mPreview.setTitle(contestantObjects.getJSONObject(i).getString("title").toString());
}
但因为它没有“[]”我认为这不是JSON对象。 因此,我写另一种基于代码JSON阵列。
JSONArray contestantObjects = new JSONArray(response);
for(int i=0; i<contestantObjects.length(); i++) {
mPreview.setBody(contestantObjects.getJSONObject(i).getString("body").toString());
mPreview.setPublishedDate(contestantObjects.getJSONObject(i).getString("publishedDate").toString());
mPreview.setRefKey(contestantObjects.getJSONObject(i).getString("refKey").toString());
mPreview.setTitle(contestantObjects.getJSONObject(i).getString("title").toString());
}
但结果是相同的,logcat的说明:
值{ “ID”:{ “timeSecond”:1337861978, “时间”:1337861978000, “新”:假的, “机器”:415106952, “公司”: - 2024241794}, “体”: “不可!”,”标题 “:” 波兰vs希腊”, “publishedDate”: “2012-06-08 17:00:00 +0100”, “clazz中”: “SoccerMatchPreview”, “refKey:类型org.json的SoccerMatchPreview_4fb897be18be8b87f9117595 ”}“”。的JSONObject不能转换到JSONArray
任何建议,将不胜感激。 谢谢