Mil*_*ind 5 spring json jackson resttemplate
我已经看到许多其他帖子的回复,但想了解是否有更好的方法来做同样的事情。
要求:-我正在使用restTemplate与Web服务进行通信,该Web服务返回动态的JSON输出。作为消费者,我不想访问所有字段,但对其中几个字段不感兴趣。我在Jackson解析器中使用Spring框架,并找到了访问它的方法
String response = restTemplate.getForObject(targetUrl, String.class);
System.out.println(response);
ObjectMapper mapper = new ObjectMapper();
JsonNode rootNode = mapper.readValue(response, JsonNode.class);
JsonNode uri = rootNode.get("uri");
System.out.println(uri.asText());
Run Code Online (Sandbox Code Playgroud)
您知道更好的方法吗?我不想做映射到java对象的事情,因为json输出不在我的控件中
如果您RestTemplate配置了默认值 HttpMessageConverters(由 提供) ,您可以直接从Jackson2ObjectMapperBuilder获取。JsonNoderestTemplate.getForObject
例如,
ArrayNode resources = restTemplate.getForObject("/resources", ArrayNode.class);
Run Code Online (Sandbox Code Playgroud)
或者,
ObjectNode resource = restTemplate.getForObject("/resources/123", ObjectNode.class);
Run Code Online (Sandbox Code Playgroud)
请注意,ArrayNode和ObjectNode是 的子类JsonNode。
| 归档时间: |
|
| 查看次数: |
6809 次 |
| 最近记录: |