【发布时间】:2015-08-31 12:56:20
【问题描述】:
我对 JSON 和 Python 很陌生,并尝试处理通过 GET 请求获得的复杂 JSON 输出。这是JSON输出的一个例子(这是一小部分但原理相同):
{
"innerSet": [
{
"clusterUID": {
"id": 3585057579401361143
},
"rpasState": [
{
"rpaUID": {
"clusterUID": {
"id": 3585057579401361143
},
"rpaNumber": 1
},
"status": "OK",
"repositoryConnectivityStatus": {
"accessStatus": "OK",
"multipathingProblems": false
},
"remoteRPAsDataLinkStatus": [
{
"JsonSubType": "RPAConnectivityStatus",
"clusterUID": {
"id": 2671811049708195677
},
"entityType": "RPA",
"connectivityStatus": "OK",
"rpaUID": {
"clusterUID": {
"id": 2671811049708195677
},
"rpaNumber": 1
}
}
],
}
]
}
]
}
我试图找到打印单个值的最佳方法。例如,我需要“connectivityStatus”的值。任何帮助将不胜感激。
我能够解析简单的 JSON 输出。我设法得到了整个 innerSet 树:
x = requests.get('website.com)
d = x.json() print (d['innerSet'])
但是,我无法使用较低的键。例如,获取“clusterUID”中“id”键的值:
print (d['innerSet']['clusterUID']['id'])
导致以下错误:TypeError: list indices must be integers, not str
问候, 亚基尔。
【问题讨论】:
-
看看
json模块... -
在谷歌上写:
python json,你会得到你需要的一切。