此JSON输出来自MongoDB聚合查询。我本质上需要将嵌套数据JSON解析为以下’ total'和'_id'值。
total'
'_id'
{ 'ok': 1.0, 'result': [ { 'total': 142250.0, '_id': 'BC' }, { 'total': 210.88999999999996, '_id': 'USD' }, { 'total': 1065600.0, '_id': 'TK' } ] }
我尝试了5种不同的技术来从中获得所需的信息,但是使用json和simplejson模块却遇到了问题。
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'])