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

如何在RestAssured中使用GPath sum()对JSONObject的字段值求和

马哈拉施特拉邦新冠死亡病例总数统计实现方案

错误原因

  • 你使用的原写法不生效,是因为Maharashtra.districtData为键值对结构的JSONObject,而非JSON数组,collect方法无法直接作用于对象结构,需要先提取对象的所有value值(即各区域的疫情数据集合)再做聚合计算。

正确实现方式

方案1:使用JsonPath通配符(推荐,兼容性最好)

Java生态最常用的JayWay JsonPath库原生支持通配符匹配所有子节点,直接求和即可,代码如下:

// jsonResponse为接口返回的完整JSON字符串
int totalDeceased = JsonPath.read(jsonResponse, "$.Maharashtra.districtData.*.deceased.sum()");

表达式说明:

  • *通配符匹配districtData下所有子节点的值(即所有区域的数据对象)
  • 直接提取所有子节点的deceased字段后调用sum()函数求和

方案2:适配Groovy风格collect写法

如果你使用的JsonPath实现支持Groovy表达式语法,只需在原写法基础上补充调用values()方法提取对象所有值即可:

int value=jsonPath.get("Maharashtra.districtData.values().collect{it.deceased}.sum()");

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.11 15:30:04