如何通过JSONATA查询,利用JSON属性作为索引遍历JSON数组?
问题解决方法
核心原因
你直接写Fruits[Index]时,查询引擎会把Index当成字符串字面量去数组里匹配,而非引用JSON里的Index属性,所以才会返回"no match"。
分场景解决
1. 使用JSONPath语法查询时
要明确引用根对象的Index属性,需加上根标识符$,正确写法:
$.Fruits[$.Index]
这样就能精准获取数组中索引为2的元素banana。
2. 在JavaScript中处理解析后的JSON对象时
先将JSON字符串解析为JS对象,再通过对象属性访问:
const data = JSON.parse(`{ "Fruits" : ["apple", "mango", "banana"], "Index" : 2 }`); const targetFruit = data.Fruits[data.Index]; // 结果为"banana"
内容的提问来源于stack exchange,提问作者Ram
相关产品推荐
相关产品推荐

