我有一个JSON列表,希望将它们转换为单个JSON。我尝试使用json.dumps
,但结果仍然是一个JSON列表。
"response":[{"sent":46},{"drafts":2},{"completed":48},{"pending":1}]
我希望您以这种形式呈现。
"response":{"sent":46,"drafts":2,"completed":48,"pending":1}
你能帮我处理这个问题吗?
我有一个JSON列表,希望将它们转换为单个JSON。我尝试使用json.dumps
,但结果仍然是一个JSON列表。
"response":[{"sent":46},{"drafts":2},{"completed":48},{"pending":1}]
"response":{"sent":46,"drafts":2,"completed":48,"pending":1}
你能帮我处理这个问题吗?
你可以使用:
from itertools import chain
r = {"response" :[{"sent":46},{"drafts":2},{"completed":48},{"pending":1}]}
r['response'] = dict(chain(*map(dict.items, r['response'])))
# same with:
# r['response'] = dict(chain.from_iterable(map(dict.items, r['response'])))
r
输出:
{'response': {'sent': 46, 'drafts': 2, 'completed': 48, 'pending': 1}}
或者您可以使用字典推导式:
r['response'] = {k: v for d in r['response'] for k, v in d.items()}
输出:
{'response': {'sent': 46, 'drafts': 2, 'completed': 48, 'pending': 1}}
你可以使用
json_obj = {"response":[{"sent":46},{"drafts":2},{"completed":48},{"pending":1}]}
{k: {list(i.keys())[0]: list(i.values())[0] for i in v} for k, v in json_obj.items()}
这将输出
{'response': {'sent': 46, 'drafts': 2, 'completed': 48, 'pending': 1}}
{"response": {k: v for item in data['response'] for k, v in item.items()}}
。 - Chris Doyle