java - 如何动态创建多个 JSON 对象?

标签 java android json dynamic

我正在尝试将数据插入多个 JSON 对象,但我不知道如何在 android 中动态创建它们。

以硬编码的方式,它是这样的:-

JSONArray pdoInformation = new JSONArray();

JSONObject pDetail1 = new JSONObject();
JSONObject pDetail2 = new JSONObject();
JSONObject pDetail3 = new JSONObject();

pDetail1.put("productid", 1);
pDetail1.put("qty", 3);
pDetail1.put("listprice", 9500);

pDetail2.put("productid", 2);
pDetail2.put("qty", 4);
pDetail2.put("listprice", 8500);

pDetail3.put("productid", 3);
pDetail3.put("qty", 2);
pDetail3.put("listprice", 1500);

pdoInformation.put(pDetail1);
pdoInformation.put(pDetail2);
pdoInformation.put(pDetail3);

但我想动态创建这些 JSONObject,因为我不知道在编码时需要多少它们,以及在那些动态创建的 JSONObject 中> 数据将从productidqtylistprice三个ArrayList中填充。

很明显,那些动态创建的 JSONObject 的数量将取决于任何一个 ArrayList大小

数组列表 :-

ArrayList<String> productid = new ArrayList<String>();
ArrayList<String> qty = new ArrayList<String>();
ArrayList<String> listprice= new ArrayList<String>();

最佳答案

 List<JSONObject> myJSONObjects = new  ArrayList<JSONObject> (productid.size()); 

for(int i=0; i<productid.size(); i++) {
    JSONObject obj = new JSONObject();
    obj.put("productid", productid.get(i) );
    obj.put("qty", qty.get(i));
    obj.put("listprice", listprice.get(i));

   myJSONObjects.add(obj);

}

最后所有的 JSONObjects 都在 myJSONObjects 中。

关于java - 如何动态创建多个 JSON 对象?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25358485/

相关文章:

java - 如何使用属性从列表中提取对象?

Java 在线程池中安全地存储和恢复未完成的任务

java - 'SRPy' 在 Mockito 文档中代表什么

json - JSON Schema 是否支持深度对象验证?

java - 使用 Spring Boot 加载外部文件属性

Java - 在除 double 时无法将 double 转换为整数

java - 如何用我自己的键来排列 HashMap 中现有的键?

java - 让敌人跟随检查站

javascript - 使用 Javascript 将字符串转换为 JSON

javascript - 通过 JavaScript/JQuery 下载 JSON 文件 - HTTP 状态正常 - JQuery 错误