You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Spring RestTemplate无需声明模型类如何提取JSON响应的单个指定字段

无需创建模型类的实现方案

Spring Boot默认集成了Jackson JSON处理库,你可以直接用Jackson的JsonNode类型完成单个字段提取,有两种常用实现方式:


方式1:直接用JsonNode接收RestTemplate响应

不用先把响应转成String再解析,直接指定响应类型为JsonNode即可:

ResponseEntity<JsonNode> response = restTemplate.getForEntity(uri, JsonNode.class);
if (response.getStatusCode().is2xxSuccessful() && response.getBody() != null) {
    // 你返回的是JSON数组,先取第一个元素,再提取ID字段
    Integer id = response.getBody().get(0).get("ID").asInt();
    // 拿到id后直接用于后续接口调用即可
}

方式2:手动解析已拿到的String类型响应

如果你已经获取到了String类型的响应体,也可以通过注入ObjectMapper手动解析:

// 直接注入Spring自动管理的ObjectMapper实例即可,无需手动创建
@Autowired
private ObjectMapper objectMapper;

// 拿到之前的String响应后解析
String responseBody = forEntity.getBody();
if (responseBody != null) {
    JsonNode jsonNode = objectMapper.readTree(responseBody);
    Integer id = jsonNode.get(0).get("ID").asInt();
}

边界校验建议

实际使用时建议增加容错逻辑:

  • 先判断数组长度是否大于0,避免数组为空时抛出索引越界异常
  • 可以用path("ID")替代get("ID"),字段不存在时不会直接抛异常,配合asInt(默认值)可以指定解析失败时的 fallback 值

内容的提问来源于stack exchange,提问作者AndreaNobili

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.04 13:45:01