如何将ArrayLIst项转换为Android中的json对象

时间:2015-02-02 10:41:28

标签: java android json arraylist

我有两个数组列表我想将数组列表的项目转换为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"}]

请告诉

2 个答案:

答案 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_idjobj_ans,这就是为什么qhis_jar JSONArray只包含最后一个值