2

给定 JSON

{"news" : [ {...}, {...}, {...} ] }

该数组包含自定义对象,我已经将其声明为 POJO。想要我只想通过键路径“新闻”映射我的自定义对象。

restTemplate.exchange(URI + "/news/{limit}/", HttpMethod.GET, CustomObject[].class, 10)

抛出异常,因为这个 JSON 是预期的

[ {...}, {...}, {...}]

有没有办法配置 RestTemplate 以满足我的需求?

问候

更新:

restTemplate.exchange(URI + "/news/{limit}/", HttpMethod.GET, requestEntity, JsonElement.class,10).getBody().getAsJsonObject().get("news");
CustomObject[] result = gson.fromJson(body, CustomObject[].class);

这个片段有效,但有更清洁的方法吗?令我惊讶的映射到JSONObject甚至不起作用,JSONElement 最终完成了这项工作。

4

1 回答 1

0

好吧,我将在此处添加我的更新以结束此问题。如果有人可以提供更清洁的解决方案,我很乐意接受:

restTemplate.exchange(URI + "/news/{limit}/", HttpMethod.GET, requestEntity, JsonElement.class,10).getBody().getAsJsonObject().get("news");
CustomObject[] result = gson.fromJson(body, CustomObject[].class);

这个片段有效,但有更清洁的方法吗?对于我对 JSONObject 的意外映射甚至不起作用,JSONElement 最终完成了这项工作。

于 2012-10-17T10:24:09.533 回答