我正在使用利用JSONPath来提供JSON路径的AWS Step Functions。我有以下输入内容:
{
"response": {
"isSuccess": true,
"error": "",
"body": {
"count": 2,
"fields": [
{
"fieldId": 1,
"tabId": 100,
"title": "First Name"
},
{
"fieldId": 2,
"tabId": 100,
"title": "Last Name"
}
]
}
},
"iteration": {
"totalCount": 2,
"currentCount": 0,
"step": 1
}
}
我想查询字段数组为:
$.response.body.fields[$.iteration.currentCount]
在迭代过程中,currentCount的值增加1。 尝试使用以上命令时,我收到无效的XPath异常。
有人可以建议如何提供动态属性值以读取数组值吗?
答案 0 :(得分:1)
如https://github.com/json-path/JsonPath#operators所述,您只能为带有数字的数组建立索引。但是,您可以使用过滤器表达式,如下所示从数组中选择特定项目。
假设您还有另一个表示索引的字段,例如:
{
"index": 0,
"fieldId": 2,
"tabId": 100,
"title": "Last Name"
}
然后您可以做
$.response.body.fields[?(@.index==$.iteration.currentCount)]