如下图所示,在data中,只有“测试1”和“测试2”这两个值是必然出现的, 但是出现的位置有可能不一样,可能“测试1”在前面,或“测试2”在前面,通过jsonpath语法如何获取圈出来的值?
{
"result":"执行成功",
"data":[
[
"测试1",
"100",
"200",
"300",
"1"
],
[
"测试2",
"110",
"120",
"130",
"0"
]
]
}
JsonPath.read(json, "$.data[这里不确定顺序][1]")。如果位置可能交换除非你里面的数据也是一个key-value对象而不是数组。如果一定是数组,那就只能遍历了。个人理解
数组里面只有值,没有key,这是让我头疼的
@博无止境: 是啊,所以你只能遍历数组了,至少数组data[0]和data[1]里的其中一个数据是可分辩的吧?
@何吓吓: 我认为可以通过数组里面的“测试1”或“测试2”区别出来,但我不知道语法
@博无止境: 那不就得了,for()一遍data,if data[i][0]=="测试2",return data[i][1];