[{"url":"http://192.168.0.18:443/profile/upload/2023/07/31/1690794720542_20230731171202A015.jpeg"},{"url":"http://192.168.0.18:443/profile/upload/2023/07/31/1690794723919_20230731171205A016.jpeg"}]
这是数据返回给前端的数据 但是前端想要的数据类型为
{1: "http://192.168.0.18:443/profile/upload/2023/07/31/1690796398513_20230731173959A001.jpeg"
2: "http://192.168.0.18:443/profile/upload/2023/07/31/1690797132245_20230731175213A002.jpeg"
3: "http://192.168.0.18:443/profile/upload/2023/07/31/1690797181005_20230731175302A003.jpeg"}
使用 Java 的 Gson 库来解析 JSON 数据并将其转换为 Map 类型。Gson 是 Google 提供的用于处理 JSON 数据的库,使用它可以很方便地进行 JSON 数据的序列化和反序列化。
Maven 依赖:
<dependency>
<groupId>com.google.code.gson</groupId>
<artifactId>gson</artifactId>
<version>2.8.7</version>
</dependency>
public Map<String, String> jsonToMap(String jsonString) {
Gson gson = new Gson();
Type type = new TypeToken<List<Map<String, String>>>() {}.getType();
List<Map<String, String>> dataList = gson.fromJson(jsonString, type);
// 将 List 转换为 Map
Map<String, String> resultMap = new HashMap<>();
for (Map<String, String> data : dataList) {
for (String key : data.keySet()) {
resultMap.put(key, data.get(key));
}
}
return resultMap;
}
我这里没有用这个封装的方法 直接使用
Gson gson=new Gson();
Type type = new TypeToken<List<Map<String, String>>>() {}.getType();
List<Map<String, String>> dataList = gson.fromJson(jdptRequirement.getPictureList(), type);
// 将 List 转换为 Map
resultMap = new HashMap<>();
int a=0;
for (Map<String, String> data : dataList) {
a=a+1;
for (String key : data.keySet()) {
resultMap.put(a+"", data.get(key));
}
}
转换成功