我想在android应用程序中显示json数据,但我有困难,我认为可能与json文件的格式化方式有关.i想要获取标题数组中的名称和代码的值。而且它不工作在android中显示单个数组json数据?
这是JSON文件
{
"status": "SUCCESS",
"headers":
{
"id": "4",
"name": "GLO",
"code": "GLO",
"background_color_code": "15B709",
"text_color_code": "ffffff",
"statusMessage": "Hi +234805, an ACCESS FEE of N20.00 will be charged in order to access this Platform"
},
"statusMessage": "Movies Loaded successfully",
"caption": "Discover"
}
这是Java代码
protected ArrayList<HashMap<String, String>> doInBackground(Void... arg0) {
ArrayList<HashMap<String, String>> categoryList = new ArrayList<HashMap<String, String>>();
jParser = new JSONParser();
JSONObject json = jParser.getJSONFromUrl(URL_CATEGORY);
try {
JSONObject categories =json.getJSONObject("headers");
String state = categories.getString("name");
String status = categories.getString("code");
HashMap<String, String> map = new HashMap<String, String>();
map.put(TAG_PIC, state);
map.put(TAG_NOTE, status);
categoryList.add(map);
}catch (Throwable e){
e.printStackTrace();
}
return categoryList;
}
这是错误
07-25 11:05:50.766 15683-15697/com.example.cann I/System.out﹕ close [socket][/10.187.206.124:36118]
07-25 11:05:50.781 15683-15702/com.example.cann W/System.err﹕ org.json.JSONException: Value at headers of type java.lang.String cannot be converted to JSONObject
07-25 11:05:50.782 15683-15702/com.example.cann W/System.err﹕ at org.json.JSON.typeMismatch(JSON.java:100)
07-25 11:05:50.782 15683-15702/com.example.cann W/System.err﹕ at org.json.JSONObject.getJSONObject(JSONObject.java:613)
07-25 11:05:50.782 15683-15702/com.example.cann W/System.err﹕ at com.example.cann.CategoryActivity$LoadComments.doInBackground(CategoryActivity.java:81)
07-25 11:05:50.782 15683-15702/com.example.cann W/System.err﹕ at com.example.cann.CategoryActivity$LoadComments.doInBackground(CategoryActivity.java:60)
你能在getJSONFromUrl我得到的数据thod?尝试打印回应,并把它放在这里 – Vickyexpert
你在这里得到什么'JSONObject json = jParser.getJSONFromUrl(URL_CATEGORY);' –