我已经阅读了很多有关在android中解析json的信息,但我不知道错过了什么,因为我认为我做对了,但是它一直在向我显示错误
这是我的JSON:
{
"categories": [
{
"id": 1,
"category_name": "Kiehn, Kohler and Russel",
"created_at": "2018-08-29 05:35:50",
"updated_at": "2018-08-29 05:35:50"
},
{
"id": 2,
"category_name": "Flatley PLC",
"created_at": "2018-08-29 05:35:50",
"updated_at": "2018-08-29 05:35:50"
}]
}
这是我在android中的句柄
try {
ArrayList<TagModel> tagdata = new ArrayList<>();
JSONObject object = new JSONObject(response);
//Category
ArrayList<CategoryModel> catedata = new ArrayList<>();
JSONArray catearray = object.getJSONArray("categories");
for (int i = 0; i < catearray.length(); i++) {
JSONObject product = catearray.getJSONObject(i);
CategoryModel recommend_model = new CategoryModel();
recommend_model.setCategoryName(product.getString("category_name"));
recommend_model.setCategoryId(String.valueOf(product.getInt("id")));
catedata.add(recommend_model);
}
} catch (JSONException e) {
e.printStackTrace();
}
该错误会告诉您相同的问题,即
在org.json.JSONTokener.syntaxError(JSONTokener.java:449) 在org.json.JSONTokener.readObject(JSONTokener.java:393) 在org.json.JSONTokener.nextValue(JSONTokener.java:100) 在org.json.JSONObject。(JSONObject.java:159) 在org.json.JSONObject。(JSONObject.java:176) 在kh.com.example.sopheak_pc.CenturyRecipe.Data.DataClass $ 1.onResponse(DataClass.java:44) 08-30 06:47:37.283 22712-22712 / kh.com.example.sopheak_pc.CenturyRecipe W / System.err:位于 kh.com.example.sopheak_pc.CenturyRecipe.Data.DataClass $ 1.onResponse(DataClass.java:38)
当我调试时,错误从
JSONObject object = new JSONObject(response);
它将
catch (JSONException e) {
e.printStackTrace();
}
很抱歉,如果它有点混乱,因为我想在任何地方显示与错误有关的内容,谢谢!!!
答案 0 :(得分:0)
由于@Andreas和@Sam Littlefair提到的是我的json在字符串中包含“,”,因此我清理了数据并输入简单的数据,现在可以正常工作了!谢谢你们两个!