在Java中将Json数组转换为Map

时间:2019-05-15 10:25:48

标签: java json hashmap

我正在一个项目中,我使用实体和JSON从我的API获得DTO响应

正在响应:

return CommonCodeResponseDTO
                .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"
          ]
        }
      ]
    }
  ]
}

我需要将其转换为具有键值对的Map。我该如何实现?

1 个答案:

答案 0 :(得分:1)

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

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

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