gpt4 book ai didi

java - 使用 Jackson 使用循环创建 Json 字符串

转载 作者:行者123 更新时间:2023-12-02 02:05:14 25 4
gpt4 key购买 nike

我有三个长度不同的String[][]数组。第二个长度始终是固定的,长度为 6,但第一个长度可以在 06 之间变化。

我想创建一个 Json 字符串,其中包含所有这些 String 数组的数据。截至目前,它是硬编码的,但我意识到一旦长度不再固定,我就会遇到麻烦......

travelgl1.put("Duration", str1[0][0]);
travelgl1.put("Walking time", str1[0][1]);
travelgl1.put("Direction", str1[0][2]);
travelgl1.put("Departure", str1[0][3]);
travelgl1.put("Arrival", str1[0][4]);
travelgl1.put("End station", str1[0][5]);

所以基本上我想要一个动态循环,它循环遍历 String 数组并添加该数组中的所有数据。

有什么简单的方法可以做到这一点吗?我希望所有三个 json 对象(来自三个 String 数组)最终被编译成一个大的 json 字符串。

我希望最终结果如下所示:

[ { "String array 1" : [ { "Duration" : "33", "Walking time" : "8", "Direction" : "Åkeshov", "Departure" : "09:39", "Arrival" : "10:43", "End station" : "Sollentuna" }, { "Duration" : "37", "Walking time" : "8", "Direction" : "Alvik", "Departure" : "09:43", "Arrival" : "10:51", "End station" : "Sollentuna" }, { "Duration" : "34", "Walking time" : "8", "Direction" : "Alvik", "Departure" : "09:53", "Arrival" : "10:58", "End station" : "Sollentuna" }, { "Duration" : "36", "Walking time" : "8", "Direction" : "Åkeshov", "Departure" : "09:59", "Arrival" : "11:06", "End station" : "Sollentuna" }, { "Duration" : "33", "Walking time" : "8", "Direction" : "Åkeshov", "Departure" : "10:09", "Arrival" : "11:13" } ] }, { "String array 2" : [ { "Duration" : "54", "Walking time" : "13", "Direction" : "Farsta strand", "Departure" : "09:43", "Arrival" : "11:13", "End station" : "Sollentuna" }, { "Duration" : "47", "Walking time" : "13", "Direction" : "Gullmarsplan", "Departure" : "09:50", "Arrival" : "11:13", "End station" : "Sollentuna" }, { "Duration" : "45", "Walking time" : "13", "Direction" : "Gullmarsplan", "Departure" : "10:00", "Arrival" : "11:21", "End station" : "Sollentuna" }, { "Duration" : "42", "Walking time" : "13", "Direction" : "Gullmarsplan", "Departure" : "10:10", "Arrival" : "11:28", "End station" : "Sollentuna" }, { "Duration" : "45", "Walking time" : "13", "Direction" : "Gullmarsplan", "Departure" : "09:30", "Arrival" : "10:51", "End station" : "Sollentuna" } ] }, { "String array 3" : [ { "Duration" : "31", "Walking time" : "12", "Direction" : "Hässelby strand", "Departure" : "09:45", "Arrival" : "10:51", "End station" : "Sollentuna" }, { "Duration" : "31", "Walking time" : "12", "Direction" : "Alvik", "Departure" : "09:52", "Arrival" : "10:58", "End station" : "Sollentuna" }, { "Duration" : "33", "Walking time" : "12", "Direction" : "Åkeshov", "Departure" : "09:58", "Arrival" : "11:06", "End station" : "Sollentuna" }, { "Duration" : "30", "Walking time" : "12", "Direction" : "Åkeshov", "Departure" : "10:08", "Arrival" : "11:13", "End station" : "Sollentuna" }, { "Duration" : "31", "Walking time" : "12", "Direction" : "Hässelby strand", "Departure" : "10:15", "Arrival" : "11:21", "End station" : "Sollentuna" } ] } ]

所以,我真正想要的是一种根据字符串数组的长度动态创建 Json 字符串的方法。

提前致谢!

最佳答案

请引用以下代码。

public List<Map<String, String>> myfunction(String str1[][]) {
List<Map<String, String>> travelgl1 = new ArrayList<Map<String, String>>();
for (int i = 0; i < str1.length; i++) {
Map<String, String> map = new HashMap<String, String>();
for (int j = 0; j < 6; j++) {
if (j == 0)
map.put("Duration", str1[i][j]);
else if (j == 1)
map.put("Walking time", str1[i][j]);
else if (j == 2)
map.put("Direction", str1[i][j]);
else if (j == 3)
map.put("Departure", str1[i][j]);
else if (j == 4)
map.put("Arrival", str1[i][j]);
else if (j == 5)
map.put("End station", str1[i][j]);
}
travelgl1.add(map);
}
return travelgl1;
}

关于java - 使用 Jackson 使用循环创建 Json 字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50943900/

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