我是“json”库的新手,在将列表字典转换为 JSON 对象时遇到问题,下面是我得到的字典:
import json
data = {
'title' : ['Seven days', 'Not Today', 'Bad Moms'],
'date' : ['July 17', 'Aug 18', 'Jan 19']
}
json_data = json.dumps(data)
print(json_data)
这是我得到的结果:
{"title" : ['Seven days', 'Not Today', 'Bad Moms'], "date" : ['July 17', 'Aug 18', 'Jan 19']}
如何以这种方式构建它:
{"title" : "Seven days","date" : "July 17"}, {"title" : "Not Today","date" : "Aug 18"}, {"title" : "Bad Mom","date" : "Jan 19"}
谢谢。
最佳答案
您可以像这样转换您的数据:
d = [{'title': t, 'date': d} for t, d in zip(data['title'], data['date'])]
#[{'title': 'Seven days', 'date': 'July 17'},
# {'title': 'Not Today', 'date': 'Aug 18'},
# {'title': 'Bad Moms', 'date': 'Jan 19'}]
将其转储到 json 中将产生如下字符串:
'[{"title": "Seven days", "date": "July 17"}, {"title": "Not Today", "date": "Aug 18"}, {"title": "Bad Moms", "date": "Jan 19"}]'
如果您希望您的 json 对每个对象中的键有一个保证的顺序,您可以使用:
from collections import OrderedDict
d = [OrderedDict([('title', t), ('date', d)]) for t, d in zip(data['title'], data['date'])]
关于Python:如何将列表字典转换为 JSON 对象?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47367882/