我正在尝试在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}]}
答案 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);
}