加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > Python > 正文

python – 解析嵌套的JSON数据

发布时间:2020-12-16 21:32:30 所属栏目:Python 来源:网络整理
导读:此 JSON输出来自MongoDB聚合查询.我基本上需要将嵌套数据JSON向下解析为’total’和’_id’值. {'ok': 1.0,'result': [ { 'total': 142250.0,'_id': 'BC' },{ 'total': 210.88999999999996,'_id': 'USD' },{ 'total': 1065600.0,'_id': 'TK' } ]} 我已经尝试
此 JSON输出来自MongoDB聚合查询.我基本上需要将嵌套数据JSON向下解析为’total’和’_id’值.
{
'ok': 1.0,'result': [
            {
                'total': 142250.0,'_id': 'BC'
            },{
                'total': 210.88999999999996,'_id': 'USD'
            },{
                'total': 1065600.0,'_id': 'TK'
            }
            ]
}

我已经尝试了5种不同的技术来获得我需要的东西,但是我遇到了使用json和simplejson模块的问题.

理想情况下,输出将是这样的:

142250.0,BC
210.88999999999996,USD
1065600.0,TK

解决方法

注意:MongoDB的JSON响应实际上并不有效. JSON需要双引号(“),而不是单引号(‘).

我不确定为什么你的响应有单引号而不是双引号,但从它的外观你可以替换它们然后只使用内置的json模块:

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

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读