Json 使用递归时无法使用字符串索引字符串
我试图使用jq解析这个示例jsonJson 使用递归时无法使用字符串索引字符串,json,jq,Json,Jq,我试图使用jq解析这个示例json { "config": { "env-1": { "LoadBalancerGroup": { "Algorithm": "weighted-round-robin", "LBGroupMembers": [ { "Server": "10.183.191.131" }, { "Server": "
{
"config": {
"env-1": {
"LoadBalancerGroup": {
"Algorithm": "weighted-round-robin",
"LBGroupMembers": [
{
"Server": "10.183.191.131"
},
{
"Server": "10.183.191.153"
}
],
"name": "LBG-https",
"state": {
"opstate": "up"
}
}
}
}
}
env-1键会有所不同,我需要使用递归(..)或类似技术进行访问
我陷入了以下错误,这可能与搜索非散列节点有关
cat recursion.json | jq ' ..|.["LoadBalancerGroup"]|."name"?' | jq .
jq: error (at <stdin>:20): Cannot index string with string "LoadBalancerGroup"
null
null
"LBG-https"
null
cat recursion.json | jq'.|。[“LoadBalancerGroup”]|。“名称”?| jq。
jq:错误(位于:20):无法索引字符串为“LoadBalancerGroup”的字符串
无效的
无效的
“LBG https”
无效的
尝试选择(type==“object”和has(“name”))和其他建议并没有解决这个问题,我非常感谢任何建议
谢谢我想错误信息已经很清楚了。不能使用字符串索引字符串,需要选择对象 假设
LoadBalancerGroup
始终是一个对象,并且忽略空的名称
并不重要:
.. | objects | .LoadBalancerGroup.name // empty