Android:解析JSONObject的JSONArray,但仍获取语法错误

时间:2018-08-30 00:04:05

标签: java android

我已经阅读了很多有关在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)

这是完整的日志消息: Log Error

当我调试时,错误从  JSONObject object = new JSONObject(response);

它将

 catch (JSONException e) {
               e.printStackTrace();
            }

很抱歉,如果它有点混乱,因为我想在任何地方显示与错误有关的内容,谢谢!!!

我刚刚在字符串json中发现了我的错误,这看起来像什么 Here is what i found the error

1 个答案:

答案 0 :(得分:0)

由于@Andreas和@Sam Littlefair提到的是我的json在字符串中包含“,”,因此我清理了数据并输入简单的数据,现在可以正常工作了!谢谢你们两个!