将数组列表的内容添加到JSON数组:Java



我有一个名为getFields:的数组列表

ArrayList getFields = new ArrayList(uniqueFields);

此阵列列表注销以下内容:

[{"warehouse":{"editableField":"false"}}, {"documentNo":{"editableField":"true"}}]

我需要将getFields转换为一个名为jsArray的JSON数组,所以我已经完成了以下操作:

JSONArray jsArray = new JSONArray();
jsArray.put(getFields);

jsArray注销以下内容:

[[{"warehouse":{"editableField":"false"}},{"documentNo":{"editableField":"true"}}]]

问题是,我不希望jsArray有嵌套的数组(即,我不想它有双方括号)。我希望它是这样的:

[{"warehouse":{"editableField":"false"}},{"documentNo":{"editableField":"true"}}]

如何在没有双括号的情况下将getFields转换为jsArray?我试过转换成字符串,但后来我得到了反斜杠。如有任何帮助,我们将不胜感激。谢谢

getFields.forEach(jsArray::put);  // java 8+

您需要对getFields进行迭代,并逐个放置元素。


// java 8 or below
for (int i = 0; i < getFields.size(); i++) {
jsArray.put(getFields.get(i));
}