0

IAndroid Volley anfordern Rückgabestatuscode 200 als Reaktion auf Erfolg und erfordern Daten in Json als roh (Körper) senden

{ "200": {"username": "ppoo" , 
        "password": "ppoo" , 
        "emails": ["ppoo"] }, 
      "400": [] } 

in Rohkarosse meiner Anfrage senden und es wird Statuscode 200 geben auf die Antwort des Erfolgs.

Wenn ich JSONobjectrequest verwendete, wird es VolleyParseError zeigen. Ich weiß nicht, welche Anfrage zu verwenden ist.

+0

den mehrzeilige Inline-Code in einen Code-Block gemacht. – mikek3332002

+0

Verwenden Sie die Post-Methode '? \ – Jois

+0

Wie sehen die Daten aus, die Sie erhalten? – djodjo

Antwort

1

vollständige Code, hier zu arbeiten ..

private void LoginUser() { 
      try {jsonObject.put("password",hashpassword);jsonObject.put("username",username);} catch (JSONException e){e.printStackTrace();} 
    jsonStr =jsonObject.toString(); 

// json String-Variable Halten Sie die dies Ihre Rohdaten, die Sie wollen String in Daten senden sieht = { "username": "Ihr Benutzerusername", "Passwort": "IhrKennwort"} //

RequestQueue requestQueue = Volley.newRequestQueue(this); 
    StringRequest stringRequest = new StringRequest(Request.Method.POST, SignInUrl, 
      new Response.Listener<String>() { 
       @Override 
       public void onResponse(String response) { 
        Toast.makeText(getBaseContext(),response.toString(), Toast.LENGTH_LONG).show(); 
        hideProgressDialog(); 
       } 
      }, 
      new Response.ErrorListener() { 
       @Override 
       public void onErrorResponse(VolleyError error) { 
        Log.e("VOLLEY", error.toString()); 
        Toast.makeText(getBaseContext(),error.toString(), Toast.LENGTH_LONG).show(); 
       } 
      }){ 
     @Override 
     public String getBodyContentType() { 
      return "application/json; charset=utf-8"; 
     } 
     @Override 
     public byte[] getBody() { 
      try { 
       return jsonStr == null ? null : jsonStr.getBytes("utf-8"); 
      } catch (UnsupportedEncodingException uee) { 
       VolleyLog.wtf("Unsupported Encoding while trying to get the bytes of %s using %s", 
         jsonStr, "utf-8"); 
       return null; 
      } 
     } 
     @Override 
     protected Response<String> parseNetworkResponse(NetworkResponse response) { 
      String responseString = ""; 
      if (response != null) { 
       responseString = String.valueOf(response.statusCode); 
      } 
      return Response.success(responseString, HttpHeaderParser.parseCacheHeaders(response)); 
     } 
     @Override 
     public Map<String,String> getHeaders() throws AuthFailureError { 
      Map<String,String> headers = new HashMap<String, String>(); 
      headers.put("Content-Type", "application/json; charset=utf-8"); 
      return headers; 
     }}; 
    requestQueue.add(stringRequest); 

}