我对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:列表索引必须是整数,而不是str
问候,亚基尔。
你可以这样做:
import simplejson as json
data = json.loads(s)
print data['innerSet'][0]['rpasState'][0]['remoteRPAsDataLinkStatus'][0]['connectivityStatus']
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句