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

Add contents of Array List to a JSON Array: 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));
}