14.6. 高级 JSONata 功能
您可以通过应用各种高级功能(如阵列处理和内置功能),使用 JSONata 来更有效地转换事件。
14.6.1. 数组处理 复制链接链接已复制到粘贴板!
复制链接链接已复制到粘贴板!
JSONata 使得在事件有效负载中轻松处理阵列。您可以计算项目,根据条件过滤它们,并计算聚合值。
订购和计算总数处理项目示例
将其指定为输入:
转换会生成以下输出:
在本例中:
-
$count (order.items)计算阵列中的项目数量。 -
过滤器
[quantity > 1]仅选择数量大于 1 的项目。 -
$sum (order.items. (price * quantity))计算总值。
14.6.2. 使用内置功能 复制链接链接已复制到粘贴板!
复制链接链接已复制到粘贴板!
JSONata 包括广泛的内置功能,可操作字符串、数字、日期和数组。这些功能可增强来自现有数据的新字段。
使用内置功能添加元数据的示例
在本例中:
-
$now ()添加当前时间戳。 -
$lowercase ()将用户名转换为小写。 -
$split ()将名称分成多个部分,$map ()将每个字母提取,$join ()将它们组合成初始。