在下面的JSON对象中(如果更容易的话,我可以重写),我需要搜索sshPort id="Talend" and envs.id="DEV" and sshServer="jardev0"
我尝试过使用Pandas,但是它会使嵌套的JSON对象变平,所以我必须创建3个中间Pandas对象并在其中搜索3次。你知道吗
我希望更简单的语法,比如“[x.id==”talend“&;x[envs].id==”DEV“&;x | envs].sshServer=“jardev0”]”“sshPort”
[
{
"id": "talend",
"envs":
[
{"id":"DEV",
"lServeurs" :
[
{"sshServer":"jardev0", "sshPort":"20022","sshUser":"talend"},
{"sshServer":"jardev01","sshPort":"20022","sshUser":"talend"}
]
},
{"id": "PROD",
"lServeurs" :
[
{"sshServer": "jardprd01", "sshPort": "20023","sshUser":"talend"}
]
}
]
},
{
"id": "eprel",
"envs":
[
{"id": "DEV",
"lServeurs" :
[
{"sshServer": "jardev0", "sshPort": "20024", "sshUser":"eprel"},
{"sshServer": "jardev01", "sshPort": "20025", "sshUser":"eprel"}
]
},
{"id": "PROD",
"lServeurs" :
[
{"sshServer": "jardprd01", "sshPort": "20026","sshUser":"eprel"}
]
}
]
}
]
返回“20022”
使用嵌套列表理解(3个嵌套迭代器非常笨拙):
LINQ风格的过滤语法AFAIK是不可用的,除非你能理解列表。你知道吗
但是你可以有这样的方法
用法:
相关问题 更多 >
编程相关推荐