【问题标题】:How to convert ArrayLIst items into json objects in Android如何在 Android 中将 ArrayLIst 项转换为 json 对象
【发布时间】:2015-02-02 10:41:28
【问题描述】:

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

请告诉

【问题讨论】:

    标签: java android json arraylist


    【解决方案1】:

    您可以使用新的 Gson 库...

    ArrayList<String> list = new ArrayList<String>();
    String jsonData = new Gson().toJson(list);
    

    【讨论】:

    • 没有Gson可以吗
    • 转换为JSONObjecttoJson 返回 String
    【解决方案2】:

    创建包含其他 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 只包含最后一个值

    【讨论】:

    • 如何给Json数组命名??
    • @TechGuy:无法为 JSONArray 命名。您可以通过将 JSONArray 添加到 JSONObject 来为 JSONArray 命名,例如 JSONObject.put("array_name",qhis_jar);
    猜你喜欢
    • 2014-08-28
    • 1970-01-01
    • 1970-01-01
    • 2017-09-19
    • 1970-01-01
    • 1970-01-01
    • 2016-01-24
    • 2011-07-31
    • 2018-10-26
    相关资源
    最近更新 更多