I'm quite new with JSON and Python and trying to work with complex JSON outputs that I'm getting with GET requests. This is one example of JSON output (this is a small part of it but the principle is the same):
{
"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
}
}
],
}
]
}
]
}
I trying to find the best way to print a single value. For example, I need the value of "connectivityStatus". Any help will be much appreciated.
I able to pars simple JSON output. I have managed to get the entire innerSet tree:
x = requests.get('website.com)
d = x.json() print (d['innerSet'])
However, I'not able to go the lower keys. For example, getting the value for "id" key in "clusterUID":
print (d['innerSet']['clusterUID']['id'])
Results in the following error: TypeError: list indices must be integers, not str
Regards, Yakir.
You can do this:
import simplejson as json
data = json.loads(s)
print data['innerSet'][0]['rpasState'][0]['remoteRPAsDataLinkStatus'][0]['connectivityStatus']
Collected from the Internet
Please contact [email protected] to delete if infringement.
Comments