JMESPath是否有内置功能计算JSON中两个数值的差值?
JMESPath实现两值减法的方案
JMESPath原生语法不支持算术运算符(包括减法),官方规范里也没有提供用于数值计算的内置函数(仅有的数值相关函数如sum仅针对数组求和)。要实现a - b的计算,有两种可行方向:
宿主语言层面处理:先通过JMESPath分别提取目标字段的值,再在执行表达式的代码中完成减法运算。以Python为例:
import jmespath data = {"a": 5, "b": 1} # 提取a和b的值 a = jmespath.search("a", data) b = jmespath.search("b", data) # 计算差值 result = a - b第三方扩展支持:部分JMESPath的第三方实现或工具可能扩展了算术函数(比如自定义
sub函数),但这类功能不属于JMESPath的标准规范,可用性依赖具体的运行环境或工具,不具备通用性。
内容的提问来源于stack exchange,提问作者Sushanth Kumble
相关产品推荐
相关产品推荐

