Parsing Nested JSON using Python
Question: 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 values.

    
    
    {
    'ok': 1.0, 
    'result': [
                {
                    'total': 142250.0, 
                    '_id': 'BC'
                }, 
                {
                    'total': 210.88999999999996,
                     '_id': 'USD'
                }, 
    
                {
                    'total': 1065600.0, 
                    '_id': 'TK'
                }
                ]
    }
    

I've tried 5 different techniques to get what i need from it, however I've run
into issues using the json and simplejson modules.

Ideally, the output will be something like this:

    
    
    142250.0, BC
    
    210.88999999999996, USD
    
    1065600.0, TK
    


Answer: 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'])
    

