我正在尝试从 JAVA 数组列表创建 JSON 对象并将其存储在单个 JSON 数组中,但收到空指针异常.在正文中添加信



ArrayLists:例如

list1 [lst1, lst2, lst3..]
list2 [l1, l2, l3, ....]

试图实现以下结果

[
{
"key1": lst1
"key2": l1
}
{
"key1": lst2
"key2": l2
}
]

我已经尝试了下面的代码,但它抛出空指针异常并退出循环

JSONObject[] data= null;
for(int i=0; i<list1.size(); i++ ) {
data[i] = new JSONObject();
data[i].put("key1", list1.get(i));
data[i].put("key2", list2.get(i));
}
log.info(data);

帮助将不胜感激。

最简单的解决方案是

List<JSONObject> data= new ArrayList<>();
for(int i=0; i<list1.size(); i++ ) {
data.add(new JSONObject().put("key1",list1.get(i)).put("key2",list2.get(i)));
}
log.info(data);

或使用流

List<JSONObject> list = new ArrayList<>();
IntStream.range(0,10).forEach(i ->{
list.add(new JSONObject().put("key1", "val1").put("key2", "val2"));
});

最新更新