JSONPath 从 table 中的地图获取值
JSONPath get value from map within a table
我有一个 JSON 字符串如下(简化):
{
"data":{
"fruit":[
{
"role":[
{
"role":"passive"
}
],
"objectType":"apple"
},
{
"role":[
{
"role":"active"
}
],
"objectType":"orange"
}
]
}
}
我想获得 objectType
角色为 active
的值。在此示例中,结果将是 orange
。我想出了以下代码,但它没有 return 任何东西。我该如何解决这个问题?
$.data.fruit[?(@.role.role == 'active')]
请注意,水果数组中的元素数量可能会有所不同,并且不能保证最后一个元素是正确的。
如果它是一个数字,则字符串化中的渐进级别将分别缩进这么多 space 个字符(最多 10 个)。
如果是字符串,递进级别将缩进该字符串(或其前十个字符)。
应OP的要求,这是最终的最终答案!
$.data.fruit[?('active' in @..role..role)].objectType
我有一个 JSON 字符串如下(简化):
{
"data":{
"fruit":[
{
"role":[
{
"role":"passive"
}
],
"objectType":"apple"
},
{
"role":[
{
"role":"active"
}
],
"objectType":"orange"
}
]
}
}
我想获得 objectType
角色为 active
的值。在此示例中,结果将是 orange
。我想出了以下代码,但它没有 return 任何东西。我该如何解决这个问题?
$.data.fruit[?(@.role.role == 'active')]
请注意,水果数组中的元素数量可能会有所不同,并且不能保证最后一个元素是正确的。
如果它是一个数字,则字符串化中的渐进级别将分别缩进这么多 space 个字符(最多 10 个)。
如果是字符串,递进级别将缩进该字符串(或其前十个字符)。
应OP的要求,这是最终的最终答案!
$.data.fruit[?('active' in @..role..role)].objectType