JPath 表达式中的函数

某些基本函数可以在 JPath 表达式中使用,例如,将函数用作查询的一部分。

下表显示了可以在 JPath 表达式中使用的基本函数。
表 1. 函数
功能 描述
计数 (路径) 返回特定路径表达式中的项目数。
  • 对于一个对象,返回成员数。
  • 对于数组,将返回数组元素的数量。
  • 对于字符串,将返回字符串长度。
base64_encode(expr) 返回特定表达式的 base64 编码的值。
base64_decode(expr) 返回特定表达式的 base64 已解码值。
url_encode (表达式) 返回特定表达式的 URL 编码的值。
url_decode (表达式) 返回特定表达式的 URL 已解码值。
min (路径) 返回特定路径表达式处数组中的最小值。
max (路径) 返回特定路径表达式处的数组中的最大值。
time () 返回自戳记以来的时间 (以毫秒计)。
V2 中的新增功能 trunc (表达式) 返回特定数字表达式的被截断值。
V2 中的新增功能 圆形 (expr) 返回特定数字表达式的四舍五入后的值。
V2 中的新增功能 楼层 (expr) 返回特定数字表达式的最低值。
V2 中的新增功能 ceil (表达式) 返回特定数字表达式的上限值。
V2 中的新增功能 random_number () 返回介于 0.0 和 1.0之间的随机浮点数。
V2 中的新增功能 substring (expr , begin 和 end) 返回特定表达式的子串。
V2 中的新增功能 左 (expr , length) 返回特定表达式的左部分。
V2 中的新增功能 right (表达式,长度) 将返回特定表达式的右侧部分。
V2 中的新增功能 上限 (expr) 返回特定表达式的大写的值。
V2 中的新增功能 下 (expr) 返回特定表达式的小写字母值。
V2 中的新增功能 random_string (长度) 返回由拉丁字母字符 (a-z , A-Z) 组成的随机字符串。
V2 中的新增功能 空 (路径) 如果特定路径表达式中的值为空,那么返回 true。
V2 pad_left (expr , length , padValue) 返回特定表达式的左填充的值。
V2 pad_right (expr , length , padValue) 返回特定表达式的右侧填充的值。
V2 中的新增功能 范围 (开始,结束) 以数组形式返回某个范围的数字。
V2 中的新增功能 键 (路径) 在特定路径表达式处返回对象的键。
V2 中的新增功能 值 (路径) 在特定路径表达式处返回对象的值。
V2 中的新增功能 条目 (路径) 在特定路径表达式处返回对象的条目。

下表显示了可以在 JPath 表达式中使用的基本函数的示例。

表 2. 函数示例
示例 描述 状态 表达式 结果
查询中的函数 将函数作为查询的一部分使用。 { "array": [ { "id": 1, "timestamp": 1186978597 }, { "id": 2, "timestamp": 1286978597 }, { "id": 3, "timestamp": 17586978597 } ] } /array[@timestamp > time()] [ { "id": 3, "timestamp": 17586978597 } ]
查找时间戳记最大的事件 将 max () 函数与所生成的数字数组结合使用。 { "array": [ { "id": 1, "timestamp": 1186978597 }, { "id": 2, "timestamp": 1286978597 }, { "id": 3, "timestamp": 17586978597 } ] } max(/array/timestamp) 17586978597