在数组JSONata

时间:2018-01-08 18:52:34

标签: arrays json counter jsonata

我刚刚开始使用JSONata,我发现轻松解析JSON非常有趣。但我有这个问题,我不确定是否可以直接使用JSONata。

我想要包含一个从1到#34的计数器;数组中对象的数量",如下所示:

JSONata表达式的原始输出:

[   {     " a":false,     " b":"",     " c":"",     " d":是的   },   {     " a":false,     " b":"",     " c":"",     " d":是的   },   {     " a":false,     " b":"",     " c":"",     " d":是的   } ]

通缉输出:

[   {     "计算":" 1",     " a":false,     " b":"",     " c":"",     " d":是的   },   {     "计算":" 2",     " a":false,     " b":"",     " c":"",     " d":是的   },   {     "计算":" 3",     " a":false,     " b":"",     " c":"",     " d":是的   } ]

有可能吗?提前谢谢。

1 个答案:

答案 0 :(得分:0)

您可以使用$map()函数迭代列表并将表达式应用于每个项目。函数的第二个参数将是数组中的索引。因此,对于您的示例,以下内容将count属性合并到原始对象数组中:

$ ~> $map(function($v, $i) {
  $merge([{'count': $i+1}, $v])
})

在JSONata Exerciser中查看此内容:http://try.jsonata.org/rkDpyXMVM