将json传递到包含json数组的服务器

时间:2019-04-25 11:57:41

标签: android json arraylist

我正在尝试在JSON OBJECT内部传递一个json数组。问题是我的数组列表只包含ids,我必须循环遍历并传递给jsonarray,但是我的jsonarray仅获取arraylist的最后一个索引的值,并复制到arraylist大小的时间。

            JSONObject jsonObject = new JSONObject();
            JSONArray category_ids_array = new JSONArray();
            JSONObject category_items = new JSONObject();


            jsonObject.put("category_ids", category_ids_array);


            for (int g=0 ;g < selectedCategories.size();g++)
            {
                category_ids_array.put(category_items);

                category_items.put("id",selectedCategories.get(g).getId());
                Log.d("catids",String.valueOf(selectedCategories.get(g).getId() ) );

            }

selectedCategories数组列表包含: 1937,1994,13365;

jsononject: {"category_ids":[{"id":13365},{"id":13365},{"id":13365}]}

1 个答案:

答案 0 :(得分:0)

实际上我知道我做错了什么。我每次都需要重新创建JSONObject。

for (int g=0 ;g < selectedCategories.size();g++)
        {
            JSONObject category_items = new JSONObject();

            category_items.put("id",selectedCategories.get(g).getId());
            Log.d("catids",String.valueOf(selectedCategories.get(g).getId() ) );

category_ids_array.put(category_items);

        }