Envoi d'une requête POST avec JSONArray à l'aide de Volley

Je veux envoyer une simple demande POST dans Android avec un corps en égalant cette :

[
 {
  "value": 1
 }
]

J'ai essayé d'utiliser le Volley-bibliothèque sous Android, et c'est mon 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);

Le problème est que le getParams méthode accepte uniquement un objet Map car je veux envoyer un JSONArray. Donc, je suis obligé d'utiliser un cast, ce qui génère une erreur alors...

Je ne sais pas comment puis-je régler ce problème
Merci

Lire mon asnwer ici. Cependant, votre json est JSONArray, pas JSONObject.
pouvez-vous être plus explicite? Je ne comprends toujours pas le code de cette jsonArray... merci de votre compréhension
JSONObject jsonBody = new JSONObject("{\"la valeur\": 1}"); un JSONObject commence par { et se termine avec }. En outre, quel est le message d'erreur avez-vous? Post-it de Pls et de toute logcat info si disponible.
merci man, j'ai enfin résolu ce problème depuis que j'utilise un JSONArray. Mais j'ai une autre erreur en raison de la getparams méthode...
Post-it de Pls et de toute logcat info si disponible. En outre, overrid getBody au lieu de getParams pour le corps POST params

OriginalL'auteur fujitsu4 | 2015-09-23