Java 从Arraylist创建JSON

Java 从Arraylist创建JSON,java,json,Java,Json,我必须创建JSON响应,如下所示 [{"Name":"Shampoo","Qty":"3","Amt":"300"}, {"Name":"Soap","Qty":"1","Amt":"50"}] 代码: 从al.addAll()调用中,我推断出name,qty和price是列表。因此,您正在将列表交给childData.put()调用。这将生成您找到的输出,以及每个JSON键(子元素)处的值数组,其中包含传递给该childData.put()调用的列表中的所有元素 如果您想要第

我必须创建JSON响应,如下所示

    [{"Name":"Shampoo","Qty":"3","Amt":"300"},
    {"Name":"Soap","Qty":"1","Amt":"50"}]
代码: 从
al.addAll()
调用中,我推断出
name
qty
price
是列表。因此,您正在将列表交给
childData.put()
调用。这将生成您找到的输出,以及每个JSON键(子元素)处的值数组,其中包含传递给该
childData.put()调用的列表中的所有元素

如果您想要第一个JSON,您应该循环列表中的所有元素,并将它们逐个添加(放置)到类似于(名称、数量、价格)对的父元素上。例如

JSONArray jA  = new JSONArray()
for(int j=0; j<condition;j++){
    JSONObject pa = new JSONObject();
    for(int i=0; i<name.length;i++) {
        childData = new JSONObject();
        childData.put("Name", name[i]);
        childData.put("Qty", qty[i]);
        childData.put("Amt", price[i]);
        pa.put("Detais",childData);
    }
    jA.put(pa);
}
JSONArray jA=new-JSONArray()

对于(int j=0;jj
name
qty
price
包含什么?我不明白你的问题是什么,那是你想要的json还是你已经拥有的json?你没有包含足够的代码,你也没有问问题。childData={“name”:“shampo”,“qty”:“2”,“Amt”:“300”}pa=[{“name”:“shampo”,“qty”:“2”,“Amt”:“300”}]childData={“Name”:“Soap”,“Qty”:“3”,“Amt”:“210”}pa=[{“Name”:“Soap”,“Qty”:“3”,“Amt”:“210”},{“Name”:“Soap”,“Qty”:“3”,“Amt”:“210”})。在pa JSONArray中,最后一个childData值是getting storedWell,您当然也必须在外部循环中循环父级的创建,并添加到json数组中。
      {"Name":"[Shampoo, Soap]","Qty":"[3, 1]","Amt":"[300, 50]"}
JSONArray jA  = new JSONArray()
for(int j=0; j<condition;j++){
    JSONObject pa = new JSONObject();
    for(int i=0; i<name.length;i++) {
        childData = new JSONObject();
        childData.put("Name", name[i]);
        childData.put("Qty", qty[i]);
        childData.put("Amt", price[i]);
        pa.put("Detais",childData);
    }
    jA.put(pa);
}