2017-07-28 37 views
-3

帮助球员,我试图解析这个嵌套的JSON对象。当我检查logcat时,它不会迭代到面食的下一个JSONObject。这只能说明Android Volley并没有遍历整个JSON对象

“名” 第一的JSONObject: “奶油培根蘑菇”, “细节”: “”, “价格”: “”, “形象”:{ “URL”: “”}

之后,它无限循环一次又一次。

这是我的JSON:

[ 
{ 
    "food" : { 
     "pasta" : [ 
      { 
       "name" : "Creamy Bacon Mushroom", 
       "price" : 170, 
       "details" : "Creamyyy", 
       "image" : { 
        "url" : "/SAD/uploads/food/images/1/food_pasta_creamybaconmushroom.jpg" 
       } 
      }, 
      { 
       "name" : "Vigan Longganisa Penne", 
       "price" : 169, 
       "details" : "Vigannnnn", 
       "image" : { 
        "url" : "/SAD/uploads/food/images/2/food_pasta_viganlonganissapenne.jpg" 
       } 
      }, 
      { 
       "name" : "Spanish Sardine Pesto", 
       "price" : 168, 
       "details" : "Spanishhhhh", 
       "image" : { 
        "url" : "/SAD/uploads/food/images/3/food_pasta_spanishsardinepesto.jpg" 
       } 
      } 
     ] 

    } 

} 

]

这是我的代码:

StringRequest stringRequest = new StringRequest(url, new com.android.volley.Response.Listener<String>() { 
     @Override 
     public void onResponse(String response) { 
      try { 
       JSONArray jsonArray = new JSONArray(response); 
       for(int i=0;i<response.length();i++){ 
        JSONObject jsonObject = jsonArray.getJSONObject(i); 
        JSONObject jsonObjectFood = jsonObject.getJSONObject("food"); 
        JSONArray jsonArrayPasta = jsonObjectFood.getJSONArray("pasta"); 
        Log.d(StringConfig.LOG_TAG, jsonArrayPasta.toString()); 

        for(int j=0; j<jsonArrayPasta.length();i++){ 
         JSONObject jsonObject1 = jsonArrayPasta.getJSONObject(j); 
         String jsonName = jsonObject1.getString("name"); 
         String jsonPrice = jsonObject1.getString("price"); 
         String jsonDetails = jsonObject1.getString("details"); 

         JSONObject jsonObjectImage = jsonObject1.getJSONObject("image"); 
         String jsonImage = jsonObjectImage.getString("url"); 


         Log.d(StringConfig.LOG_TAG, "name : " + jsonName); 
         Log.d(StringConfig.LOG_TAG, "price : " + jsonPrice); 
         Log.d(StringConfig.LOG_TAG, "details : " + jsonDetails); 
         Log.d(StringConfig.LOG_TAG, "imageUrl : " + jsonImage); 
        } 


       } 

      } catch (JSONException e) { 
       e.printStackTrace(); 
      } 
     } 
    }, new com.android.volley.Response.ErrorListener() { 
     @Override 
     public void onErrorResponse(VolleyError error) { 

     } 
    }); 
    requestQueue.add(stringRequest); 

}

这是我的logcat:

07-28 14:54:53.691 6222-6222/? D/SAD: name : Creamy Bacon Mushroom 
07-28 14:54:53.691 6222-6222/? D/SAD: price : 170 
07-28 14:54:53.691 6222-6222/? D/SAD: details : Creamyyy 
07-28 14:54:53.691 6222-6222/? D/SAD: imageUrl : /SAD/uploads/food/images/1/food_pasta_creamybaconmushroom.jpg 
07-28 14:54:53.691 6222-6222/? D/SAD: name : Creamy Bacon Mushroom 
07-28 14:54:53.691 6222-6222/? D/SAD: price : 170 
07-28 14:54:53.691 6222-6222/? D/SAD: details : Creamyyy 
07-28 14:54:53.691 6222-6222/? D/SAD: imageUrl : /SAD/uploads/food/images/1/food_pasta_creamybaconmushroom.jpg 
07-28 14:54:53.691 6222-6222/? D/SAD: name : Creamy Bacon Mushroom 
07-28 14:54:53.691 6222-6222/? D/SAD: price : 170 
07-28 14:54:53.691 6222-6222/? D/SAD: details : Creamyyy 
07-28 14:54:53.691 6222-6222/? D/SAD: imageUrl : /SAD/uploads/food/images/1/food_pasta_creamybaconmushroom.jpg 
07-28 14:54:53.691 6222-6222/? D/SAD: name : Creamy Bacon Mushroom 
07-28 14:54:53.691 6222-6222/? D/SAD: price : 170 
07-28 14:54:53.691 6222-6222/? D/SAD: details : Creamyyy 
07-28 14:54:53.691 6222-6222/? D/SAD: imageUrl : /SAD/uploads/food/images/1/food_pasta_creamybaconmushroom.jpg 
07-28 14:54:53.691 6222-6222/? D/SAD: name : Creamy Bacon Mushroom 
07-28 14:54:53.691 6222-6222/? D/SAD: price : 170 
07-28 14:54:53.691 6222-6222/? D/SAD: details : Creamyyy 
07-28 14:54:53.691 6222-6222/? D/SAD: imageUrl : /SAD/uploads/food/images/1/food_pasta_creamybaconmushroom.jpg 
07-28 14:54:53.691 6222-6222/? D/SAD: name : Creamy Bacon Mushroom 
07-28 14:54:53.691 6222-6222/? D/SAD: price : 170 
07-28 14:54:53.691 6222-6222/? D/SAD: details : Creamyyy 
07-28 14:54:53.691 6222-6222/? D/SAD: imageUrl : 

/SAD/uploads/food/images/1/food_pasta_creamybaconmushroom.jpg 07-28 14:54:53.692 6222-6222 /? D/SAD:详情:Creamyyy 07-28 14:54:53.692 6222-6222 /? D/SAD:名称:Creamy Bacon Mushroom 07-28 14:54:53.692 6222-6222 /? D/SAD:价格:170 07-28 14:54:53.692 6222-6222 /? d/SAD:细节:Creamyyy

+2

问题在** i ++ ** – Enzokie

回答

1

变化我+ +在内部J ++ for循环

+0

谢谢阿尼尔:)我没有注意到 – StevenF

0

使用GSON格式解析JSON。你可以看到我的回答hear。我希望它能帮助你。