java - 在java中将Json数组转换为Map

标签 java json hashmap

我正在开发一个项目,我使用实体和 DTO 从 API 获取 JSON 响应

以下是回复:

return XXXResponseDTO
                .builder()
                .codeTypeList(commonCodeDetailList)
                .build();

commonCodeDetailList 列表包含来自数据库的数据。最终输出将是

{
  "code_type_list": [
    {
      "code_type": "RECEIVING_LIST",
      "code_list": [
        {
          "code": "1",
          "code_name": "NAME"
        },
        {
          "code": "2",
          "code_name": "NAME1"
        }
      ],
      "display_pattern_list": [
        {
          "display_pattern_name": "0",
          "display_code_list": [
            "1",
            "2"
          ]
        }
      ]
    },
    {
      "code_type": "RECEIVING_LIST1",
      "code_list": [
        {
          "code": "1",
          "code_name": "NAME"
        }
      ],
      "display_pattern_list": [
        {
          "display_pattern_name": "0",
          "display_code_list": [
            "1"
          ]
        }
      ]
    }
  ]
}

我需要将其转换为带有键值对的映射。我怎样才能实现这个目标?

最佳答案

使用Jackson ,您可以执行以下操作:

ObjectMapper mapper = new ObjectMapper();
String jsonStr = mapper.writeValueAsString(commonCodeDetailList);
Map<String, String> map = mapper.readValue(jsonStr, Map.class);

首先您需要将 commonCodeDetailList 转换为 json 字符串。之后你可以将这个json字符串转换为map。

关于java - 在java中将Json数组转换为Map,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56147094/

相关文章:

java - 将键值合并为另一个具有 java 中重复项的映射的新值

java - 添加到 HashMap 上的列表值

Java JDBC MySQL 插入 TIMESTAMP 类型失败

java - Neo4j Web UI 上没有数据

json - 从黑莓中的 Json 获取数据

javascript - 如何仅加载波形并等待用户单击 'play' 以在 Wavesurfer-js 上下载音频?

java - 组中的用户,组有权限,EJB 3是否支持带有注释的这种模型?

java - springdoc-openapi 通用 Controller 类型参数支持

javascript - JSON:在另一个 JSON 对象中重用 JSON 对象

java - 为什么 HashMap 和 Hashtable 的 put 方法有区别?