我有三个不同长度的String[][]数组。第二个长度总是固定的,具有6的长度,但是第一个长度在0和6之间可能有所不同。
我想要创建一个包含所有这些String数组数据的Json字符串。现在它是硬编码,但我意识到一旦长度不再固定,我就会陷入麻烦.
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字符串。
我希望最终结果是这样的:
[{“字符串数组1”:{“持续时间”:"33",“行走时间”:"8",“方向”:“奥克舒夫”,“出发”:"09:39",“到达”:"10:43",“终端站”:"Sollentuna“},{”持续时间“:"37",”行走时间“:"8",”方向“:"Alvik",“出发”:"09:43“、”抵达“:"10:51”、“终点站”:"Sollentuna“}、{”持续时间“:"34”、“步行时间”:"8“、”方向“:"Alvik”、“出发”:"09:53“、”到达“:"10:58”、“终端站”:"Sollentuna“}、{”持续时间“:"36”、“步行时间”:"8“、”方向“:”奥克舒夫“、”出发“:"09:59”、“抵达”:"11:06“、”终点站“:"Sollentuna”}、{“持续时间”:"33“、”行走时间“:"8”、“方向”:“奥克舒夫”、“起飞”:"10:09“、”抵达“:"11:13”}{“字符串数组2”:{“持续时间”:"54",“行走时间”:"13",“方向”:"Farsta链“,”离开“:"09:43",”到达“:"11:13",”终端站“:"Sollentuna”},{“持续时间”:"47",“行走时间”:"13",“方向”:"Gullmarsplan",“出发”:"09:50“、”抵达“:"11:13”、“终点站”:"Sollentuna“}、{”持续时间“:"45”、“步行时间”:"13“、”方向“:"Gullmarsplan”、“出发”:"10:00“、”到达“:"11:21”、“终点站”:"Sollentuna“}、{”持续时间“:"42”、“步行时间”:"13“、”方向“:"Gullmarsplan”、“出发”:"10:10“、”到达“:"11:28”、“终点站”:"Sollentuna“}、{”持续时间“:"45”、“行走时间”:"13“、”方向“:"Gullmarsplan”、“出发”:"09:30“、”到达“:"10:51",“结束站”:"Sollentuna“},{”字符串数组3“:{”持续时间“:"31",”行走时间“:"12",”方向“:”H sselby String“,”离开“:"09:45",”到达“:"10:51",”终端站“:"Sollentuna”},{“持续时间”:"31",“行走时间”:"12",“方向”:“阿尔维克”、“出发”:"09:52“、”抵达“:"10:58”、“终点站”}、{“持续时间”:"33“、”步行时间“:"12”、“方向”:“奥克舒夫”、“出发”:"09:58“、”抵达“:"11:06”、“结束站”:“索伦图纳”}{“持续时间”:"30“、”行走时间“:"12”、“方向”:“奥克舒夫”、“离开”:"10:08“、”到达“:"11:13”、“终点”:“索伦图纳”}、{“持续时间”:"31“、”行走时间“:"12”、“方向”:“H sselby strand”、“离开”:"10:15",“到达”:"11:21“、”终点站“:"Sollentuna”}]
因此,我真正想要的是根据字符串数组的长度创建Json字符串的动态方法。
提前感谢!
发布于 2018-06-20 09:12:38
请参考以下代码。
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;
}https://stackoverflow.com/questions/50943900
复制相似问题