如何使用JSONata对数组过滤结果执行投影操作选取指定字段
JSONata 数组对象字段投影实现方案
直接使用JSONata的对象构造语法配合遍历操作即可实现需求,无需额外复杂函数。
核心语法
对数组每一项做字段筛选的通用写法为:[过滤后的数组].{ "需要保留的字段名1": 对应属性1, "需要保留的字段名2": 对应属性2 }
针对示例的实现
无前置过滤的场景
直接对根数组执行投影,表达式如下:
$.{ "a": a, "c": c }
带前置过滤的场景
如果已经写了过滤逻辑,比如筛选a值大于3的对象,直接把过滤逻辑拼接在投影前面即可:
$[a > 3].{ "a": a, "c": c }
执行后会先完成过滤,再对过滤结果做字段筛选。
输出结果
针对提供的输入数据,执行无过滤的投影表达式后,输出结果和预期完全一致:
[ { "a": 1, "c": 3 }, { "a": 5, "c": 7 } ]
内容的提问来源于stack exchange,提问作者Zhang Wei
相关产品推荐
相关产品推荐

