【问题标题】:How to put multiple JsonObject inside JsonArray using volley library?如何使用 volley 库将多个 JsonObject 放入 JsonArray 中?
【发布时间】:2019-06-29 11:01:25
【问题描述】:

如何将arrayList放入服务器端的jsonArray中?

尝试放参数 “列表”: [ { “年”:“2019”, “amt”:6222 }, { “年”:“2016”, “amt”:5555 } ]}

【问题讨论】:

    标签: android android-json


    【解决方案1】:

    试试这个,它会起作用的:

    JSONObject jsonObject1 = new JSONObject();
    JSONArray jsonArray = new JSONArray();
    
    try {
        jsonObject1.put("year", "2019");
        jsonObject1.put("amt", "6222");
        jsonArray.put(jsonObject1);
        JSONObject jsonObject2 = new JSONObject();
    
        jsonObject2.put("year", "2016");
        jsonObject2.put("amt", "5555");
        jsonArray.put(jsonObject2);
    
        JSONObject jsonObjectList = new JSONObject();
        jsonObjectList.put("list",jsonArray);
    } catch (JSONException e) {
        e.printStackTrace();
    }
    

    结果将是:

    {"list":[{"year":"2019","amt":"6222"},{"year":"2016","amt":"5555"}]}
    

    【讨论】:

    • @感谢您的帮助,但是 jsonArray 中有多个 jsonObject。怎么可能?意味着 JsonObject 不固定放在服务器端的值..
    • @放了多个jsonObject
    • @DevanandAdabaile 您可以使用 List 来获取 List 的大小(多个 jsonObject)并设置一个循环来获取 List 的大小
    【解决方案2】:

    这是你的问题解决方案,试试这个

      JSONArray jsonArray =  new JSONArray();
           for (int i =0; i < ItemModelList.size(); i++){
             JSONObject jsonObject = new JSONObject();
             jsonObject.put("year", String.valueOf(ItemModelList.get(i).getYear()));
             jsonObject.put("amt", String.valueOf(ItemModelList.get(i).getAmount()));
             jsonArray.put(jsonObject);
             requestJson.put("list", jsonArray);
           }
    
    Result:
     "list": [ { "year": "2019", "amt": 6222 }, { "year": "2016", "amt": 5555 } ]
    

    【讨论】:

    • 虽然此代码可能会回答问题,但提供有关此代码为何和/或如何回答问题的额外上下文可提高其长期价值。
    猜你喜欢
    • 2020-01-23
    • 1970-01-01
    • 1970-01-01
    • 2013-07-26
    • 1970-01-01
    • 1970-01-01
    • 2021-05-09
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多