0

我需要像这样形成一个 JSON 对象。

{
    "GroupID": 24536,
    "Section": [1,2,3,4,5]
}

这是我尝试过的,但是当我查看我的对象结构时,节数组没有正确形成。

JSONObject Object = new JSONObject();
Object.put("Group", GroupID);
int[] section = {1,2,3,4,5};
Object.put("Section", section);
4

3 回答 3

1

您需要使用JSONArray插入代表数组的一组值,在本例中为int数组。


String strJson = null;
try{
    int[] section = {1,2,3,4,5};

    JSONObject jo = new JSONObject();
    jo.put("GroupId", 24536);
    JSONArray ja = new JSONArray();
    for(int i : section)
        ja.put(i);
    jo.put("Section", ja);

    strJson = jo.toString();
}
catch (Exception e) {
    e.printStackTrace();
}

现在你在里面有了 json 字符串strJson

于 2013-04-11T22:54:18.993 回答
1

尝试:

JSONObject Object = new JSONObject();
Object.put("Group", GroupID);
int[] section = {1,2,3,4,5};
JSONArray arr = new JSONArray();
arr.put(section);
Object.put("Section", arr);

或者创建一个 Collection 并将其设置为值:

Collection c = Arrays.asList(section);
Object.put("Section", c);
于 2013-04-11T22:56:55.817 回答
1

尝试:

    JSONObject Object = new JSONObject();
    Object.put("Group", GroupID);
    Integer[] section = {1,2,3,4,5};
    Object.put("Section", new JSONArray(Arrays.asList(section)));
于 2013-04-12T00:53:17.520 回答