gpt4 book ai didi

java - 如何将对象添加到 JSONArray

转载 作者:太空宇宙 更新时间:2023-11-04 10:30:40 25 4
gpt4 key购买 nike

我想将一个对象添加到数组中。如果 other_amount 的数据大于零,我想再添加一个对象。如果它等于零,则不应添加任何内容。这是我的代码:

JSONArray acc_data = new JSONArray();
Map<String, Object> myaccount = new LinkedHashMap<>();
for (int i = 0; i < mpay.size(); i++) {
if(other_amount>0){
myaccount.put("poAccount", other_account);
myaccount.put("poAmount", other_amount);
system.out.println(myaccount);
//{poAccount=050017, poAmount=12}
}

myaccount.put("poAccount", amount_account);
myaccount.put("poAmount", amount);
system.out.println(myaccount);
//{"poAccount":"050016","poAmount":"800"}

acc_data.add(myaccount);
system.out.println(acc_data);
//[{"poAccount":"050016","poAmount":"800"}]
}

但我需要这样的:

//[{"poAccount":"050016","poAmount":"800"},{poAccount=050017, poAmount=12}]

请帮我解决一下。

最佳答案

您不应该在您的案例中使用 map 。当您将与现有的映射键配对时,该配对将被覆盖。例如

map.put ("k1","v1");

map 包含一对“k1”:“v1”下一次通话

map.put ("k1","newV1");

第一对将被覆盖, map 仍包含一对:“k1”:“newV1”

对于您的情况,最好定义具有 2 个字段 poAccountpoAmount 的简单 POJO 类。并将它们添加到 JSONArray

关于java - 如何将对象添加到 JSONArray,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50039189/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com