在android中创建JSONObjects

时间:2013-04-11 22:51:52

标签: java android

我需要像这样形成一个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);

3 个答案:

答案 0 :(得分: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();
}

现在你在strJson内有了json字符串。

答案 1 :(得分: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);

答案 2 :(得分:1)

尝试:

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