解析嵌套的JSON数据
此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, BC210.88999999999996, USD
1065600.0, TK
回答:
注意:来自MongoDB的JSON响应实际上无效。JSON需要双引号("
),而不是单引号('
)。
我不确定为什么您的响应中有单引号而不是双引号,但是从其外观上,您可以替换它们,然后只使用内置json
模块:
from __future__ import print_functionimport 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'])
以上是 解析嵌套的JSON数据 的全部内容, 来源链接: utcz.com/qa/411030.html