2016-03-03 138 views
2

如何發送這種類型的JSONObject作爲請求參數在機器人如何發送嵌套的Jsonobject包含Jsonarray作爲rest API的請求參數?

{ 
    "operation": "diagnostic", 
    "action": "DiagnosticCreateOrders", 
    "diag_order_id": " 0", 

    "data": [{ 
     "diag_odetail_id": "0", 
     "diag_odetail_deptid": "100008", 
     "diag_odetail_drname": "Dr Naren" 
    }, { 
     "diag_odetail_id": "0", 
     "diag_odetail_deptid": "100008", 
     "diag_odetail_drname": "Dr Naren" 
    }] 
} 

休息API和我的代碼是 com.android.volley.RequestQueue隊列= Volley.newRequestQueue(本);

StringRequest strReq = new StringRequest(Request.Method.POST, 
      "http://172.19.1.57/API/v1/app/", new Response.Listener<String>() { 

     @Override 
     public void onResponse(String response) { 

      Log.d("ADDING_ORDER", "sending Server:---> " + response.toString()); 

      try { 
       //JSONObject obj = new JSONObject(response); 
       JSONObject obj = new JSONObject(response); 
       Log.d("ADDING_ORDER", "Server Code---> " + obj.getString("code")); 


       String code = obj.getString("code"); 


       if (code.equalsIgnoreCase("200")) { 
        Toast.makeText(getApplicationContext(), "Orderred Sucessfully Inserted", Toast.LENGTH_LONG).show(); 
       } 
       if (code.equalsIgnoreCase("202")) { 
        Toast.makeText(getApplicationContext(), "Order Already assigned", Toast.LENGTH_LONG).show(); 

       } 


      } catch (JSONException e) { 

      } 


     } 
    }, new Response.ErrorListener() { 

     @Override 
     public void onErrorResponse(VolleyError error) { 
      // Log.e("LOGIN", "Registration Error: " + error.getMessage()); 
      Log.d("LOGIN", "Login Response: Error Code" + error.toString()); 

     } 
    }) { 

     @Override 
     protected Map<String, String> getParams() { 
      // Posting parameters to login url 
      Map<String, String> mParams = new HashMap<String, String>(); 
      RequestParams params = new RequestParams(); 
      //mParams.put("Content-Type", "application/json"); 

      mParams.put("operation","diagnostic"); 
      mParams.put("action","DiagnosticCreateOrders"); 
      mParams.put("diag_order_id","0") ; 

      List<Map<String, String>> listOfMaps = new ArrayList<Map<String,String>>(); 
      Map<String,String> user1 = new HashMap<String, String>(); 
      user1.put("diag_odetail_id","0"); 
      user1.put( "diag_odetail_deptid","100008"); 
      user1.put( "diag_odetail_drname","Dr Naren"); 

      listOfMaps.add(user1); 
      Map<String,String> user2 = new HashMap<String, String>(); 
      user2.put("diag_odetail_id","0"); 
      user2.put( "diag_odetail_deptid","100005"); 
      user2.put( "diag_odetail_drname","Dr Naren"); 


      listOfMaps.add(user2); 
      mParams.put("data", listOfMaps.toString()); 
      Log.d("ADDING_ORDER_PARAMETERS", "parametrs:---> " + mParams.toString()); 

      return mParams; 


     } 

    }; 
    queue.add(strReq);*/ 

我用凌空庫,Requestparams和HttpClient的提出了這個要求,但我得到這個錯誤...

{ 
    "status": { 
     "type": "error", 
     "code": "400", 
     "disc": "Invalid JSON value found" 
    }, 
    "request": "diag_city=Hyderabad&diag_order_type_e=1&diag_landmark=Road+Number+27%2C+Venkatagiri%2C+Jubilee+Hills%2C+Hyderabad%2C+Telangana+500033%2C+India&diag_patient_gender_e=1&diag_order_status_e=1&diag_delivery_state=Telangana&diag_address1=Road+Number+27&diag_address2=Venkatagiri&diag_address3=Jubilee+Hills&diag_patient_first_name=Srilaxmi&diag_contact_number=8768765432&action=DiagnosticCreateOrders&diag_patient_last_name=&diag_order_allstatus_e=1&diag_patient_mrn=203158&diag_delivery_locality=Hyderabad&diag_contact_mail=chpatient4%40gmail.com&diag_delivery_doorno=Road+Number+27&diag_cod=2&diag_patient_id=104170&diag_delivery_pincode=500033&source_type=Mobile+App&diag_handling_facility_id=100051&token=5b2d4293c67ac3c7cbbe8daf5e7a6882&diag_delivery_lat=17.439461299999998&diag_patient_age=34&diag_service_type_id=3&diag_order_facility_id=1&diag_business_source=3&diag_order_id=0&diag_delivery_lng=78.4079256&diag_country=India&operation=diagnostic&diag_country_code=91&diag_schedule_date=2016-02-23T20%3A45%3A00.000Z&diag_service_subtype_id=13&data=%5B%7B%22diag_odetail_id%22%3A%220%22%2C%22diag_odetail_deptid%22%3A%22100008%22%2C%22diag_odetail_drname%22%3A%22Dr+Naren%22%2C%22diag_odetail_facility_need%22%3A%220%22%2C%22diag_odetail_facilitation_require%22%3A%221%22%2C%22diag_odetail_gross_amount%22%3A%22250.000000%22%2C%22diag_odetail_net_amount%22%3A%22250.000000%22%2C%22diag_odetail_service_id%22%3A%22100989%22%2C%22diag_odetail_status_e%22%3A%221%22%2C%22diag_odetail_order_qty%22%3A%221%22%2C%22diag_odetail_patientid%22%3A%22104170%22%2C%22diag_odetail_prescribed%22%3A%221%22%2C%22diag_odetail_priority_e%22%3A%225%22%2C%22diag_odetail_schedule_date%22%3A%222016-02-23T20%3A45%3A00.000Z%22%2C%22diag_odetail_subdept_id%22%3A%22100008%22%2C%22diag_odetail_testid%22%3A%22100989%22%2C%22diag_odetail_testname%22%3A%22Complete+Blood+Count+%28CBC%29+-+Whole+Blood%22%2C%22diag_odetail_testprice%22%3A%22250.000000%22%2C%22diag_odetail_testtype_e%22%3A%222%22%2C%22diag_odetail_apostatus_e%22%3A%221%22%2C%22diag_odetail_order_guid%22%3A%22r1r2f3ffff4%22%7D%2C%7B%22diag_odetail_id%22%3A%220%22%2C%22diag_odetail_deptid%22%3A%22100005%22%2C%22diag_odetail_drname%22%3A%22Dr+Naren%22%2C%22diag_odetail_facility_need%22%3A%220%22%2C%22diag_odetail_facilitation_require%22%3A%221%22%2C%22diag_odetail_gross_amount%22%3A%22113.000000%22%2C%22diag_odetail_net_amount%22%3A%22113.000000%22%2C%22diag_odetail_service_id%22%3A%22101043%22%2C%22diag_odetail_status_e%22%3A%221%22%2C%22diag_odetail_order_qty%22%3A%221%22%2C%22diag_odetail_patientid%22%3A%22104170%22%2C%22diag_odetail_prescribed%22%3A%221%22%2C%22diag_odetail_priority_e%22%3A%225%22%2C%22diag_odetail_schedule_date%22%3A%222016-02-23T20%3A45%3A00.000Z%22%2C%22diag_odetail_subdept_id%22%3A%22100005%22%2C%22diag_odetail_testid%22%3A%22101043%22%2C%22diag_odetail_testname%22%3A%22Fasting+Blood+Glucose+%28FBS%29+-+Plasma%22%2C%22diag_odetail_testprice%22%3A%22113.000000%22%2C%22diag_odetail_testtype_e%22%3A%222%22%2C%22diag_odetail_apostatus_e%22%3A%221%22%2C%22diag_odetail_order_guid%22%3A%22r1r2f3ffff4%22%7D%5D" 
} 

請幫助我,我怎麼能送...

回答

0

最後,將jsonParam對象發送給您的服務

JSONArray jsonArray = new JSONArray(); 

JSONObject pnObj_reeferleft = new JSONObject(); 

pnObj_reeferleft.put("comments", reeferleft_cm); 

pnObj_reeferleft.put("section", reeferleft_section); 

pnObj_reeferleft.put("pictures", reeferleft); 

jsonArray.put(pnObj_reeferleft);  

JSONObject jsonParam = new JSONObject(); 

jsonParam.put("hash", "somedata"); 

jsonParam.put("media", jsonArray); 
相關問題