首先,我想将所有ArrayList
值添加到JsonObject
然后我想将这些JSON对象添加到JsonArray
我已经在第一次添加所有{{1} } ArrayList
但我无法将所有JsonObject
添加到JsonObject
。
这是我将json对象转换为json数组的代码: -
JsonArray
我只得到ArrayList的最后一个值请帮帮我我希望输出像这些
submit.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
JSONArray jsonArray = new JSONArray();
JSONObject jsonObject = new JSONObject();
for (int i = 0; i < records.size(); i++) {
try {
jsonObject.put("sid", records.get(i).getsid());
jsonObject.put("name", records.get(i).getpName());
jsonArray.put(jsonObject));
} catch (JSONException e) {
e.printStackTrace();
}
}
Log.e("ATTENDANCE", jsonArray.toString() + "");
}
});
答案 0 :(得分:6)
这是因为你只创建一个对象并将它放在for循环中,你必须为每次迭代创建新对象。
点亮你的
JSONObject jsonObject = new JSONObject();
在你的for循环中像这样
for (int i = 0; i < records.size(); i++) {
try {
JSONObject jsonObject = new JSONObject();
jsonObject.put("sid", records.get(i).getsid());
jsonObject.put("name", records.get(i).getpName());
jsonArray.put(jsonObject));
} catch (JSONException e) {
e.printStackTrace();
}
}
答案 1 :(得分:0)
submit.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
JSONArray jsonArray = new JSONArray();
for (int i = 0; i < records.size(); i++) {
try {
JSONObject jsonObject = new JSONObject();
jsonObject.put("sid", records.get(i).getsid());
jsonObject.put("name", records.get(i).getpName());
jsonArray.put(jsonObject));
} catch (JSONException e) {
e.printStackTrace();
}
}
Log.e("ATTENDANCE", jsonArray.toString() + "");
}
});