【问题标题】:Convert a Json Array to Map in java在java中将Json数组转换为Map
【发布时间】:2019-05-15 10:25:48
【问题描述】:

我正在做一个项目,我使用实体和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"
          ]
        }
      ]
    }
  ]
}

我需要将其转换为带有键值对的 Map。我怎样才能做到这一点?

【问题讨论】:

标签: java json hashmap


【解决方案1】:

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

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

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

【讨论】:

  • 什么是ObjectMapper?或者换句话说:您使用的是什么库?
  • ObjectMapperJackson Project 的一部分
  • @Vringar 我知道并且我在问,因为这应该是答案的一部分。
  • 在这种情况下,我很困惑为什么你不直接编辑答案。
  • @Vringar 因为我没有足够的声誉绕过同行评审,这经常阻止我排队编辑。不过,我现在确实进行了编辑。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-03-25
  • 2018-08-26
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多