如何使用Jolt提取无键数组的最后一个元素?LHS用-1报错解决
Jolt提取无键数组最后一个元素的解决方案
已成功用Jolt shift规格提取数组第一个元素,但尝试在左侧(LHS)用-1提取最后一个元素时报错,以下是可行的解决方法:
输入JSON
[ { "user": "Jane", "loggedIn": "2021-05-11 10:49:27" }, { "user": "Jane", "loggedIn": "2021-05-11 05:00:04" }, { "user": "Jane", "loggedIn": "2021-06-23 03:52:30" } ]
当前提取第一个元素的Jolt规格
[ { "operation": "shift", "spec": { "0": { "user": "user", "loggedIn": "loggedIn" } } } ]
提取最后一个元素的Jolt规格
Jolt的shift操作不支持在LHS用-1索引数组最后一个元素,但可以利用元素覆盖的特性实现需求:
[ { "operation": "shift", "spec": { "*": { "user": "user", "loggedIn": "loggedIn" } } } ]
原理说明
用"*"匹配数组所有元素,将每个元素的user和loggedIn字段映射到相同的目标key。由于Jolt按数组顺序处理元素,后面的元素会覆盖前面的字段值,最终结果就是数组最后一个元素的内容。
输出结果
{ "user": "Jane", "loggedIn": "2021-06-23 03:52:30" }
内容的提问来源于stack exchange,提问作者Eugene
相关产品推荐
相关产品推荐

