在数组 JSONata 中包含计数器
Include Counter in array JSONata
我刚开始使用 JSONata,我发现很容易解析 JSON 非常有趣。但是我有这个问题,我不确定是否可以直接用JSONata完成。
我想包括一个从 1 到 "the number of objects in an array" 的计数器,如下所示:
JSONata 表达式的原始输出:
[
{
"a":错误,
"b": "",
"c": "",
"d":真
},
{
"a":错误,
"b": "",
"c": "",
"d":真
},
{
"a":错误,
"b": "",
"c": "",
"d":真
}
]
想要的输出:
[
{
"count": "1",
"a":错误,
"b": "",
"c": "",
"d":真
},
{
"count": "2",
"a":错误,
"b": "",
"c": "",
"d":真
},
{
"count": "3",
"a":错误,
"b": "",
"c": "",
"d":真
}
]
可能吗?提前谢谢你。
您可以使用 $map() 函数迭代列表并将表达式应用于每个项目。函数的第二个参数将是数组中的索引。因此,对于您的示例,以下内容会将 count
属性 合并到您的原始对象数组中:
$ ~> $map(function($v, $i) {
$merge([{'count': $i+1}, $v])
})
在 JSONata Exerciser 中看到这个工作:http://try.jsonata.org/rkDpyXMVM
我刚开始使用 JSONata,我发现很容易解析 JSON 非常有趣。但是我有这个问题,我不确定是否可以直接用JSONata完成。
我想包括一个从 1 到 "the number of objects in an array" 的计数器,如下所示:
JSONata 表达式的原始输出:
[ { "a":错误, "b": "", "c": "", "d":真 }, { "a":错误, "b": "", "c": "", "d":真 }, { "a":错误, "b": "", "c": "", "d":真 } ]
想要的输出:
[ { "count": "1", "a":错误, "b": "", "c": "", "d":真 }, { "count": "2", "a":错误, "b": "", "c": "", "d":真 }, { "count": "3", "a":错误, "b": "", "c": "", "d":真 } ]
可能吗?提前谢谢你。
您可以使用 $map() 函数迭代列表并将表达式应用于每个项目。函数的第二个参数将是数组中的索引。因此,对于您的示例,以下内容会将 count
属性 合并到您的原始对象数组中:
$ ~> $map(function($v, $i) {
$merge([{'count': $i+1}, $v])
})
在 JSONata Exerciser 中看到这个工作:http://try.jsonata.org/rkDpyXMVM