2016-12-24 4 views
0

私はJsonArrayRequestから文字列を収集しようとしていますが、これを行うことができませんでした。 55::私はアンドロイド用ボレー付きJsonArrayレスポンスをキャッチ

12-24 12を、次のようなエラーを取得しています08.534 19626から19626/com.domainzguru.butikoのW/System.errの:org.json.JSONException:肩 12-24なし値を(JSONObject.java:389) 12-24 12:55:08.537 19626-19626/com。 domainzguru.butiko W/System.err: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:com.domainzguru。 butiko.Fragments.Orders.ItemsFragment $ 2 $ 1.onResponse(それはemsFragment.java:163) 12-24 12:55:08.538 19626-19626/com.domainzguru.butiko W/System.err:com.android.volley.toolbox.JsonRequest.deliverResponse(JsonRequest.java:65) 12-24 12:55:08.538 19626-19626/com.domainzguru.butiko W/System.err:com.android.volley.ExecutorDelivery $ ResponseDeliveryRunnable.run(ExecutorDelivery.java:99) 12-24 12:55: 08.538 19626-19626/com.domainzguru.butiko W/System.err:android.os.Handler.handleCallback(Handler.java:739) 12-24 12:55:08.538 19626-19626/com.domainzguru.butiko W /System.err: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:android.app.ActivityThread.main(ActivityThr ead.java:5438) 12-24 12:55:08.538 19626-19626/com.domainzguru.butiko W/System.err:java.lang.reflect.Method.invoke(ネイティブメソッド) 12-24 12: 55:08.539 19626-19626/com.domainzguru.butiko W/System.err:com.android.internal.os.ZygoteInit $ MethodAndArgsCaller.run(ZygoteInit.java:739) 12-24 12:55:08.539 19626- 19626/com.domainzguru.butikoのW/System.errの:

これは私のコードの抜粋であるcom.android.internal.os.ZygoteInit.main(ZygoteInit.java:629)で

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); 

誰でも私のコードに何が間違っているか教えてください。3、 "ORDER_ID":サーバーからの応答が

[ { "ID" がどのように見えるかである3、 "EMPLOYEE_ID":1、 "ITEM_TYPE":8、 "肩" : ""、 "arm_hole": ""、 "chest_1": ""、 "chest_2": ""、 "腰": ""、 "ヒップ": ""、 "スリット": " "、 " top_length ":" "、 " f_neck ":" "、 " b_neck ":" "、" " " sleeve_length ":" "、 "sleeve_breadth": ""、 "sleeve_type": ""、 "hip_size": "38"、 "足首": ""、 "bottom_length": "70"、 "膝": ""、 "bottom_breadth": "60"、 "thigh": ""、 "description": "test"、 "amount":5000、 "created_at": "2016-12-22 06:38:01" 、 "updated_atの": "2016年12月22日6時38分01秒"、 "CUSTOMER_ID":1、 "ITEM_ID":3 }]この部分変更

+0

@Panveetシンに私はJsonrequestがonclicklistenerにtrigerredされたエラーの詳細を更新しており、これはあなたの構文解析JSONを1としてonclicklistenerが – Anish688

+1

を開始したとき、私は取得していますエラーです最初にJSONObjectへのJSONArrayの応答を渡してからJSONObjectから半田応答を取得する必要があります。 –

+0

@Shashanth:JSONArray jsonObject =新しいJSONArray(); getStringを使用するとエラーが発生する "json配列のgetString(int)は(java.lang.String)には適用できません" – Anish688

答えて

0

public void onResponse(JSONArray response) { 

     try { 
      JSONArray jsonobect = new JSONArray(); 

JSONObject jsonobject = response.getJSONObject(0); 
関連する問題