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"));
});