Question

// JSON object to hold the information, which is sent to the server
JSONObject jsonObjSend = new JSONObject();
jsonObjSend.put("action", "myAction");
jsonObjSend.put("type", tipo);

For now is everything ok but if I want to add

jsonObjSend.put("elementi", arrayOfElements);

where arrayOf Elements must be an array of strings. How can I do?

/** EDIT

EXAMPLE OF WHAT I NEED

{
  "action": "myAction",
  "type": "elementi",
  "elementi": [
    "3287498357",
    "23472857"
  ]
}
Was it helpful?

Solution

After seeing the example I understood that you are trying to do something similar as asked in Java JsonObject array value to key

jsonObjSend.put("elementi", new JSONArray(new Object[] { "value1", "value2", "value3"} ));

To simplify:

JSONArray arr = new JSONArray();
arr.put("value1");
arr.put("value2");
//...
jsonObjSend.put("elementi", arr);

OTHER TIPS

JSONObject jsonBody = new JSONObject();
jsonBody.put("action", "myAction"); //action is your string
jsonBody.put("type", "elementi");
JSONArray arr = new JSONArray();
JSONObject elementi= new JSONObject();
itemList.put("id", id);
itemList.put("name", name);
arr.put(elementi);
jsonBody.put("elementi", arr);

You have to explicitly add the array as a JSONArray object:

// JSON object to hold the information, which is sent to the server
JSONObject jsonObjSend = new JSONObject();
jsonObjSend.put("action", "myAction");
jsonObjSend.put("type", tipo);
jsonObjSend.put("elementi", JSONArray(arrayOfElements));
Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top