发送Arraylist作为json对象的值?

时间:2014-01-13 12:09:05

标签: android json arraylist

我想将json对象作为post参数发送到php脚本。但我想以下面显示的格式发送它

{"people_ids":[118, 120],"userAdding":"123"}

所以我可以将people_ids的值转换为php数组。

$peopleIDsArray = $json['people_ids'];

但是当我这样做时,它会打印json对象,如下所示。

JSONObject jsonOBJ = new JSONObject();
        try {
            jsonOBJ.put("userAdding", user._id);
            jsonOBJ.put("people_ids", Arrays.toString(peopleIds.toArray()));
        } catch (JSONException e) {
            e.printStackTrace();
        }

// array as string。 (JSON OBJECT)

{"person_ids":"[118, 120]","user_id":"123"}

有什么办法,我可以实现上述格式吗?

2 个答案:

答案 0 :(得分:6)

如果peopleIds ArrayList

,请尝试此操作
    JSONObject jsonOBJ = new JSONObject();
    try {
        jsonOBJ.put("userAdding", user._id);
        JSONArray list = new JSONArray(peopleIds);
        jsonOBJ.put("people_ids", list);
    } catch (JSONException e) {
        e.printStackTrace();
    }

答案 1 :(得分:0)

将数组发送到JSON的非常简单的方法

 ArrayList<Model> arrayList = ArrayList()    
JSONObject jsonOBJ = new JSONObject();
        try {
            jsonOBJ.put("userAdding", arrayList.toString());
        } catch (JSONException e) {
            e.printStackTrace();
        }