使用json属性作为索引导航json数组的JSONATA查询

7dl7o3gd  于 5个月前  发布在  其他
关注(0)|答案(2)|浏览(71)

假设我有以下JSON

{
 "Fruits" : ["apple", "mango", "banana"];
 "Index" : 2
}

字符串
我如何导航数组“Fruits”,这样我就可以使用index作为索引号,即如果我写Fruits[Index],它应该给我给予“banana”。
我尝试了上面提到的代码,我得到的总是“不匹配”。

9avjhtql

9avjhtql1#

当你在过滤器操作符(方括号内)中输入一个表达式时,你进入了你正在过滤的条目的本地上下文,所有的表达式都成为每个数组条目的本地内容,而不是对象根。
要脱离本地上下文,可以使用特殊的$$变量访问根对象的Index属性。
解决方案如下:

Fruits[$$.Index]

字符串
在Stedi Playground上查看:https://stedi.link/5gbpkfc

ubby3x7f

ubby3x7f2#

%操作符允许您访问父上下文。然后您可以从中获取Index

Fruits[%.Index]

字符串
您也可以将索引存储为变量,以便稍后用于索引数组。

($i:=Index; Fruits[$i])

相关问题