Senden einer POST-Anforderung mit JSONArray mit Volley

Ich senden möchten, einen einfachen POST-request in Android mit einem Körper gleich :

[
 {
  "value": 1
 }
]

Habe ich versucht zu verwenden, Volley-Bibliothek in Android, und das ist mein code :

//the jsonArray that I want to POST    
String json = "[{\"value\": 1}]";
JSONArray jsonBody = null;
try {
     jsonBody = new JSONArray(json);
    } catch (JSONException e) {
                               e.printStackTrace();
                              }
final JSONArray finalJsonBody = jsonBody;

//starting the request
final RequestQueue queue = Volley.newRequestQueue(getApplicationContext());
JsonObjectRequest request = 
new JsonObjectRequest(com.android.volley.Request.Method.POST,"https://...",null,

new Response.Listener<JSONObject>() {

@Override
public void onResponse(JSONObject response) {
Log.d("mytag", "Response is: " + response);}},
new Response.ErrorListener() {

@Override
public void onErrorResponse(VolleyError error) {
Log.d("Mytag", "error");}}) {

@Override
protected  Map<String,String> getParams() {
//the problem is here...
return (Map<String, String>) finalJsonBody;
}

@Override
public Map<String, String> getHeaders() throws AuthFailureError  {
HashMap<String, String> params = new HashMap<String, String>();
//I put all my headers here like the following one : 
params.put("Content-Type", "application/json");                                    
return params;}};

queue.add(request);

Das problem ist, dass die getParams-Methode akzeptiert nur ein Map-Objekt, da will ich senden Sie ein JSONArray. Also, ich bin verpflichtet, eine Besetzung, die einen Fehler erzeugen, dann...

Weiß ich nicht, wie kann ich den Fehler beheben
Danke

Lesen Sie meine asnwer hier. Aber dein json ist JSONArray, nicht JSONObject.
kannst du das näher ausdrückliche? Ich immer noch nicht, code dies jsonArray... danke für euer Verständnis
JSONObject jsonBody = new JSONObject("{\"value\": 1}"); JSONObject beginnt mit { und endet mit }. Außerdem, was ist die Fehlermeldung hast du bekommen? Pls poste es und alle logcat info, wenn verfügbar.
danke Mann, die ich endlich gelöst dieses Teil, da ich ein JSONArray. Aber ich bekomme einen anderen Fehler wegen der getparams method...
Pls poste es und alle logcat info, wenn verfügbar. Darüber hinaus overrid getBody statt getParams für POST-body params

InformationsquelleAutor fujitsu4 | 2015-09-23

Schreibe einen Kommentar