2016-12-24 1 views
0

Ich versuche, Zeichenfolge von JsonArrayRequest sammeln, aber ich war nicht in der Lage, dies zu tun. Ich bekomme Fehler wie folgtFang JsonArray Antwort mit Volley für Android

12-24 12: 55: 08.534 19.626 bis 19.626/com.domainzguru.butiko W/System.err: org.json.JSONException: Kein Wert für Schulter 12-24 12: 55: 08.537 19626-19626/com.domainzguru.butiko W/System.err: at org.json.JSONObject.get (JSONObject.java:389) 12-24 12: 55: 08.537 19626-19626/com. domainzguru.butiko W/System.err: at org.json.JSONObject.getString (JSONObject.java:550) 12-24 12: 55: 08.537 19626-19626/com.domainzguru.butiko W/System.err: at com .domainzguru.butiko.Fragments.Orders.ItemsFragment $ 2 $ 1.onResponse (ItemsFragment.java:170) 12-24 12: 55: 08.537 19626-19626/com.domainzguru.butiko W/System.err: at com.domainzguru. butiko.Fragments.Orders.ItemsFragment $ 2 $ 1.onResponse (Es emsFragment.java:163) 12-24 12: 55: 08.538 19626-19626/com.domainzguru.butiko W/System.err: at com.android.volley.toolbox.JsonRequest.deliverResponse (JsonRequest.java:65) 12-24 12: 55: 08.538 19626-19626/com.domainzguru.butiko W/System.err: bei com.android.volley.ExecutorDelivery $ ResponseDeliveryRunnable.run (ExecutorDelivery.java:99) 12-24 12:55: 08.538 19626-19626/com.domainzguru.butiko W/System.err: bei android.os.Handler.handleCallback (Handler.java:739) 12-24 12: 55: 08.538 19626-19626/com.domainzguru.butiko W /System.err: at android.os.Handler.dispatchMessage (Handler.java:95) 12-24 12: 55: 08.538 19626-19626/com.domainzguru.butiko W/System.err: at android.os.Looper .loop (Looper.java:148) 12-24 12: 55: 08.538 19626-19626/com.domainzguru.butiko W/System.err: bei android.app.ActivityThread.main (ActivityThr ead.java:5438) 12-24 12: 55: 08.538 19626-19626/com.domainzguru.butiko W/System.err: at java.lang.reflect.Method.invoke (systemeigene Methode) 12-24 12: 55: 08.539 19626-19626/com.domainzguru.butiko W/System.err: bei com.android.internal.os.ZygoteInit $ MethodAndArgsCaller.run (ZygoteInit.java: 739) 12-24 12: 55: 08.539 19626- 19626/com.domainzguru.butiko W/System.err: bei com.android.internal.os.ZygoteInit.main (ZygoteInit.java:629)

Dies ist der Ausschnitt aus meinem Code ist

JsonArrayRequest jsonArrayRequest = new JsonArrayRequest(Request.Method.POST, ITEM_CUSTOMER_MEASUREMENTS, null, 
        new Response.Listener<JSONArray>() { 
         @Override 
         public void onResponse(JSONArray response) { 

          try { 
           JSONObject jsonobject = new JSONObject(); 

           String shoulder = jsonobject.getString("shoulder"); 
           et_shoulder.setText(shoulder); 
           String arm_hole = jsonobject.getString("arm_hole"); 
           et_arm_hole.setText(arm_hole); 

           String chest_1 = jsonobject.getString("chest_1"); 
           et_chest_1.setText(chest_1); 

           String chest_2 = jsonobject.getString("chest_2"); 
           et_chest_2.setText(chest_2); 

           String waist = jsonobject.getString("waist"); 
           et_waist.setText(waist); 

           String hip = jsonobject.getString("hip"); 
           et_hip.setText(hip); 

           String slit = jsonobject.getString("slit"); 
           et_slit.setText(slit); 

           String top_length = jsonobject.getString("top_length"); 
           et_top_length.setText(top_length); 

           String f_neck = jsonobject.getString("f_neck"); 
           et_f_neck.setText(f_neck); 

           String b_neck = jsonobject.getString("b_neck"); 
           et_b_neck.setText(b_neck); 

           String sleeve_length = jsonobject.getString("sleeve_length"); 
           et_sleeve_length.setText(sleeve_length); 

           String sleeve_breadth = jsonobject.getString("sleeve_breadth"); 
           et_sleeve_breadth.setText(sleeve_breadth); 

           String sleeve_type = jsonobject.getString("sleeve_type"); 
           et_sleeve_type.setText(sleeve_type); 

           String hip_size = jsonobject.getString("hip_size"); 
           et_hip_size.setText(hip_size); 

           String ankle = jsonobject.getString("ankle"); 
           et_ankle.setText(ankle); 

           String bottom_length = jsonobject.getString("bottom_length"); 
           et_bottom_length.setText(bottom_length); 

           String knee = jsonobject.getString("knee"); 
           et_knee.setText(knee); 

           String bottom_breadth = jsonobject.getString("bottom_breadth"); 
           et_bottom_breadth.setText(bottom_breadth); 

           String thigh = jsonobject.getString("thigh"); 
           et_thigh.setText(thigh); 


           Log.d("response", "onResponse: " +shoulder +arm_hole +chest_1 +chest_2 +hip +slit +top_length +f_neck +b_neck +sleeve_length 
             +sleeve_breadth +sleeve_type +hip_size +ankle +bottom_length +knee +bottom_breadth +thigh); 


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

         } 
        }, 
        new Response.ErrorListener() { 
         @Override 
         public void onErrorResponse(VolleyError error) { 
         } 
        }){ 
       @Override 
       public Map<String, String> getHeaders() throws AuthFailureError { 
        Map<String,String> headers = new HashMap<>(); 
        headers.put("Authorization", api_token); 
        headers.put("X-Request-ID", cust_id); 
        headers.put("X-Requested-With", item_type); 

        Log.d("heade values", "getHeaders: " +api_token+" "+cust_id+" "+item_type); 
        return headers; 
       } 
      }; 

      //Creating request queue 
      RequestQueue requestQueue = Volley.newRequestQueue(ItemsFragment.this.getActivity()); 

      //Adding request to the queue 
      requestQueue.add(jsonArrayRequest); 

Kann mir jemand sagen, was mit dem Code nicht stimmt.Dies ist, wie die Antwort vom Server sieht wie

[ { "id": 3, "order_id": 3, "employee_id": 1, "item_type": 8, "Schulter" "", "arm_hole:": "", "chest_1": "", "chest_2": "", "Taille": "", "hip": "", "geschlitzt": " ", " top_length ":" ", " f_neck ":" ", " b_neck ":" ", " sleeve_length ":" ", "sleeve_breadth": "", "sleeve_type": "", "hip_size": "38", "Knöchel": "", "bottom_length": "70", "Knie": "", "bottom_breathth": "60", "Oberschenkel": "", "Beschreibung": "Test", "Betrag": 5000, "created_at": "2016-12-22 06:38:01" , "updated_at": "2016.12.22 06.38.01" "customer_id": 1, "item_id": 3 } ]

+0

@Panveet Singh habe ich die Fehlerdetails aktualisiert Jsonrequest im OnClickListener trigerred wird und dies ist der Fehler, den ich immer bin, wenn der OnClickListener – Anish688

+1

gestartet Wie pro Sie Sie JSON Parsen muss JSONArrays Antwort zuerst an JSONObject übergeben und dann versuchen, die Lösereaktion von JSONObject zu erhalten. –

+0

@Shashanth: JSONArray jsonObject = new JSONArray(); gibt mir Fehler wenn ich getString benutze sagt "getString (int) in json array kann nicht angewendet werden (java.lang.String) – Anish688

Antwort

0

diesen Teil geändert:

public void onResponse(JSONArray response) { 

     try { 
      JSONArray jsonobect = new JSONArray(); 

zu

JSONObject jsonobject = response.getJSONObject(0); 
Verwandte Themen