gpt4 book ai didi

使用 simpleJSon 创建数组数组的 Java 代码

转载 作者:行者123 更新时间:2023-12-01 08:49:05 24 4
gpt4 key购买 nike

我有以下 JSON 结构:

{
"PARAMORDER": [{
"TAB1": [{
"1": "Picture ID Source"
}, {
"2": "Place of Issuance"

}],
"TAB2": [{
"1": "Picture ID Source"
}, {
"2": "Place of Issuance"

}]
}]
}

我正在尝试使用 java 代码创建一个 JSON 数组,解析和检索它时它看起来像上面的格式。我为此使用 org.json.simple API。但是我无法使用 java 代码在 JSON 中创建数组的数组。有人可以分享给我一个可以按照上述格式构造 JSON 的示例代码吗?

下面是我尝试创建 json 数组的示例代码:

JSONArray jsonArray = new JSONArray();
JSONObject firstJson = new JSONObject();
JSONObject secondJson = new JSONObject();

firstJson.put("1", "Picture ID Source");
secondJson.put("1", "Picture ID Source");

jsonArray.add(firstJson);
jsonArray.add(secondJson);

System.out.println(jsonArray.toString);

这给了我以下 JSON:

[{
"1": "Picture ID Source"
}, {
"1": "Picturesecond ID Source"
}]

我无法创建 JSONArray 的 JSONArray。有人可以帮我吗?提前致谢。

最佳答案

你走在正确的轨道上,但你需要更多的代码来创建中间级别,结构可以以树状方式无限期地添加。此外,示例中的顶层是一个 JSON 对象,而不是数组。

JSONObject root = new JSONObject();
JSONArray paraArray = new JSONArray();
JSONObject a = new JSONObject();
JSONArray tab1 = new JSONArray();
JSONObject source1 = new JSONObject();
source1.put("1", "Picture ID Source");
tab1.add(source1);
JSONObject source2 = new JSONObject();
source2.put("2", "Place of Issuance");
tab1.add(source2);
a.put("TAB1", tab1);
paraArray.add(a);

JSONObject b = new JSONObject();
JSONArray tab2 = new JSONArray();
JSONObject source3 = new JSONObject();
source3.put("1", "Picture ID Source");
tab2.add(source3);
JSONObject source4 = new JSONObject();
source4.put("2", "Place of Issuance");
tab2.add(source4);
b.put("TAB2", tab2);
paraArray.add(b);

root.put("PARAMORDER", paraArray);

System.out.println(root.toString());

输出

{"PARAMORDER":[{"TAB1":[{"1":"Picture ID Source"},{"2":"Place of Issuance"}]},{"TAB2":[{"1":"Picture ID Source"},{"2":"Place of Issuance"}]}]}

关于使用 simpleJSon 创建数组数组的 Java 代码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42501619/

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