Parsing nested JSON data

后端 未结 5 2026
执笔经年
执笔经年 2020-12-18 05:57

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\'

5条回答
  •  野趣味
    野趣味 (楼主)
    2020-12-18 06:31

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

提交回复
热议问题