This JSON output is from a MongoDB aggregate query. I essentially need to parse the nested data JSON down to the following to the \'total\'
and \'_id\'
NOTE: Your JSON response from MongoDB is not actually valid. JSON requires double-quotes ("
), not single-quotes ('
).
I'm not sure why your response has single-quotes instead of double-quotes but from the looks of it you can replace them and then just use the built-in json
module:
from __future__ import print_function
import json
response = """{
'ok': 1.0,
'result': [
{
'total': 142250.0,
'_id': 'BC'
},
{
'total': 210.88999999999996,
'_id': 'USD'
},
{
'total': 1065600.0,
'_id': 'TK'
}
]
}"""
# JSON requires double-quotes, not single-quotes.
response = response.replace("'", '"')
response = json.loads(response)
for doc in response['result']:
print(doc['_id'], doc['total'])