我有两个数组列表我想将数组列表的项目转换为json对象&然后将这些json对象添加到数组列表中。
Json对象&阵列
JSONObject jobj_id=new JSONObject();
JSONObject jobj_ans=new JSONObject();
JSONArray qhis_jar=new JSONArray();
将arraylist转换为json的代码
for(int i=0;i<arr_quesid.size();i++)
{
try {
jobj_id.put("ques_id", arr_quesid.get(i));
qhis_jar.put(jobj_id);
jobj_ans.put("ans", arr_ans.get(i));
qhis_jar.put(jobj_ans);
} catch (JSONException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
但我只将arraylist的最后一个元素作为json对象。
[{"ques_id":"questionId_7"},{"ques_name":"ans_7"},{"ques_id":"questionId_7"},{"ques_name":"ans_7"},{"ques_id":"questionId_7"},{"ques_name":"ans_7"},{"ques_id":"questionId_7"},{"ques_name":"ans_7"},{"ques_id":"questionId_7"},{"ques_name":"ans_7"},{"ques_id":"questionId_7"},{"ques_name":"ans_7"},{"ques_id":"questionId_7"},{"ques_name":"ans_7"}]
请告诉
答案 0 :(得分:1)
您可以使用新的Gson库......
ArrayList<String> list = new ArrayList<String>();
String jsonData = new Gson().toJson(list);
答案 1 :(得分:1)
创建包含其他JSONObject的JSONArray:
for(int i=0;i<arr_quesid.size();i++)
{
jobj_id=new JSONObejct(); //
jobj_id.put("ques_id", arr_quesid.get(i));
qhis_jar.put(jobj_id);
jobj_ans=new JSONObejct();
jobj_ans.put("ans", arr_ans.get(i));
qhis_jar.put(jobj_ans);
}
因为目前您使用下一个值覆盖值jobj_id
和jobj_ans
,这就是为什么qhis_jar
JSONArray只包含最后一个值