使用Gson库进行数据类型转换

本文介绍如何利用Java的Gson库将返回给前端的JSON数据转换成Map类型,以满足前端的需求。通过引入Gson库的Maven依赖,可以直接进行JSON的序列化和反序列化操作。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

[{"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));
                }
            }

转换成功

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值