如何使用JSONata将指定库存JSON对象转换为目标键值对格式?
JSONata格式转换需求
原始数据
{ "inventory": { "apple": {"type": "fruit", "region": "Washington"}, "orange": {"type": "fruit", "region": "Florida"} } }
期望输出
{ "apple": "Washington", "orange": "Florida" }
可用的JSONata表达式
写法一(管道映射)
inventory ~> |$|{}, $keys($) : $lookup($, $).region|
这个表达式利用管道运算符~>对inventory对象做映射转换:遍历对象的所有键,将每个键对应的值替换为原对象里的region属性。
写法二(直接构造对象)
{ $keys(inventory)[*]: inventory[$].region }
这种写法更简洁:先用$keys(inventory)拿到所有属性名,遍历每个属性名,以它作为新对象的键,对应的值取原inventory中该键下的region属性值。
内容的提问来源于stack exchange,提问作者Jake Pearson
相关产品推荐
相关产品推荐

