11
// 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", arrayOfElements);

其中 arrayOf Elements 必须是字符串数组。我能怎么做?

/ **编辑

我需要的示例

{
  "action": "myAction",
  "type": "elementi",
  "elementi": [
    "3287498357",
    "23472857"
  ]
}
4

3 回答 3

49

看到示例后,我了解到您正在尝试执行与Java JsonObject 数组值键中所要求的类似的操作

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

简化:

JSONArray arr = new JSONArray();
arr.put("value1");
arr.put("value2");
//...
jsonObjSend.put("elementi", arr);
于 2013-09-01T21:50:21.727 回答
0
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);
于 2017-09-16T06:36:12.283 回答
0

您必须将数组显式添加为 JSONArray 对象:

// 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));
于 2021-07-13T00:27:47.060 回答