You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何将指定JSON格式的String转换为HashMap

没问题,我来帮你把这个JSON字符串转换成Java的Map对象。下面是两种常用的实现方式,你可以根据项目里已有的JSON处理库来选择:

使用Jackson库转换

Jackson是Java生态里非常流行的JSON处理工具,咱们先确保项目里引入了Jackson的核心依赖(如果用Maven的话):

<dependency>
    <groupId>com.fasterxml.jackson.core</groupId>
    <artifactId>jackson-databind</artifactId>
    <version>2.15.2</version> <!-- 可以替换成最新稳定版 -->
</dependency>

然后写代码实现转换:

import com.fasterxml.jackson.core.JsonProcessingException;
import com.fasterxml.jackson.databind.ObjectMapper;
import java.util.Map;

public class JsonToMapExample {
    public static void main(String[] args) {
        String a = "{ \"colmdl\":[{\"field\":\"srrno\"}, {\"field\":\"loadport\"}], \"suppressClipboardPaste\":true, \"excelSheetName\":\"Grid_sheet\", \"editable\":true, \"excelExportType\":\"Toolbar\" }";
        
        ObjectMapper objectMapper = new ObjectMapper();
        try {
            // 转换为Map,键对应JSON里的字段,值的类型会自动匹配
            Map<String, Object> resultMap = objectMapper.readValue(a, Map.class);
            
            // 可以验证一下转换结果
            System.out.println("colmdl: " + resultMap.get("colmdl"));
            System.out.println("suppressClipboardPaste: " + resultMap.get("suppressClipboardPaste"));
            System.out.println("excelSheetName: " + resultMap.get("excelSheetName"));
        } catch (JsonProcessingException e) {
            e.printStackTrace();
        }
    }
}

这里colmdl对应的值会被自动解析成List<Map<String, String>>类型,其他字段则对应各自的基本类型(Boolean、String),完全符合你的需求。

使用Gson库转换

如果你的项目用的是Google的Gson库,也可以这样做:
先引入Maven依赖:

<dependency>
    <groupId>com.google.code.gson</groupId>
    <artifactId>gson</artifactId>
    <version>2.10.1</version> <!-- 替换成最新稳定版即可 -->
</dependency>

然后编写转换代码:

import com.google.gson.Gson;
import java.util.Map;

public class GsonJsonToMapExample {
    public static void main(String[] args) {
        String a = "{ \"colmdl\":[{\"field\":\"srrno\"}, {\"field\":\"loadport\"}], \"suppressClipboardPaste\":true, \"excelSheetName\":\"Grid_sheet\", \"editable\":true, \"excelExportType\":\"Toolbar\" }";
        
        Gson gson = new Gson();
        // 直接转换为Map<String, Object>
        Map<String, Object> resultMap = gson.fromJson(a, Map.class);
        
        // 验证输出结果
        System.out.println("editable: " + resultMap.get("editable"));
        System.out.println("excelExportType: " + resultMap.get("excelExportType"));
    }
}

Gson同样会自动识别每个字段的类型,colmdl会被解析成ArrayList<LinkedTreeMap>(本质也是列表嵌套Map的结构),可以直接使用。

两种方式都能完美实现你的需求,把JSON字符串里的colmdl、suppressClipboardPaste等字段作为Map的键,对应的值也会正确解析。

内容的提问来源于stack exchange,提问作者Mohanraj

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.08 21:07:29