我正在调查 JSONata,作为我寻求一种声明性语法来描述从分层 JSON 数据到传统、规范化、关系表的转换的一部分。
此示例使用 try.jsonata.org 发票数据并显示对三个 RDBMS 表的转换... AccountTable、AccountOrderTable、AccountOrderProductTable。
请注意,我在 $.Account.Order 数组中迭代了两次……一次为 AccountOrderTable 生成记录,再次为 AccountOrderProductTable 生成记录。闭包捕获 $order 以便产品条目可以访问父 $order.OrderID
虽然我可以对 $.Account.Order 数组进行两次迭代,但我想知道是否有一种干净的方法来构造 JSONata 查询,以便 $map 操作只应用于每个数组一次。
问:我怎样才能构造这个查询(同时生成相同的结果),以便我只 $map 一次 $.Account.Order 数组?