当前位置: 首页 > 知识库问答 >
问题:

RestTemplate映射具有动态键的JSON键值对对象

严誉
2023-03-14

对于使用Java Spring RestTemplate完成的HTTP请求,我得到一个JSON键值对对象的响应,该对象带有动态键,如下所示。

回应:

{
    "1234x": {
        "id": "1234x",
        "description": "bla bla",
        ... 
    },
    "5678a": {
        "id": "5678a",
        "description": "bla bla bla",
        ... 
    },
    ...
}

如何将响应对象映射到POJO或映射?

我使用RestTemplate如下所示。

RestTemplate restTemplate = new RestTemplate();
String url = "my url";
HttpHeaders headers = new HttpHeaders();
HttpEntity entity = new HttpEntity(headers);
response = restTemplate.exchange(url, HttpMethod.GET, entity, ???);

共有1个答案

葛浩阔
2023-03-14

您可以简单地将ParameterizedTypeReference与Map一起使用(您可以根据您的用例自定义它):

response = restTemplate.exchange(url, HttpMethod.GET, entity, new ParameterizedTypeReference<Map<String, Object>>() {});
 类似资料:
  • 因此,通过对Stackoverflow的研究,特别是本主题,我已经确定在一个正常工作的getter/setter设置中嵌入了一个JSON对象字典。当我调用API时,属性的传统getter/setter工作得很好,但这是因为我知道属性的名称。如何使其适用于名为的对象的未知属性,以及该对象的格式是什么()? API响应: 我的POJO: 如何设置getter/setter和正确的字典格式(看起来可能是

  • 我想在NIFI中使用Jolt处理器实现以下JSON转换 是否有一种方法可以使用现有的Jolt操作来实现这一点,或者我需要编写自定义操作? 谢了。

  • 问题内容: 使用Hibernate,可以创建一个组合ID,其中要映射到该ID的列之一可以为空值吗? 这是为了处理具有唯一键的旧表,该键可以具有空值,但不能具有主键。 我意识到我可以只向表中添加一个新的主键列,但是我想知道是否有任何方法可以避免这样做。 问题答案: 否。主键不能为null。

  • JSON键/值对由键和值组成,键必须是字符串,值可以是字符串(string)、数值(number) 、对象(object)、数组(array)、true、false、null。如图 1‑1所示: 图1-1 JSON的值 在定义JSON键/值时,先是键名,后面写一个冒号,然后是值。如: "github": "https://github.com/leiqikui" 这就等价于这条 JavaScri

  • 问题内容: 我有一个问题想寻求您的专业知识。 这是我拥有的JSON数组: 我想做的是从JSON数组而不是值中检索键(A,B,C,D,E)。我能够检索值,但不能检索键。 我正在使用它来动态检索值: 同样,我应该怎么做才能使用JavaScript 检索 密钥 ? 问题答案: 您是否按照标签所暗示的那样使用D3.js?因为在这种情况下,您可以使用: 如果您想要所有值的总和,最好使用和: