Python:如何将列表字典转换为 JSON 对象?

标签 python json list dictionary

我是“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/

相关文章:

ios - 无法从 Swift 3 中的 dataTask 获取 JSON 数据

javascript - jQuery DataTable - 使用自定义 JSON 结构显示数据

list - 使用 SwiftUI 和 macOS 创建带有标题的列表

python - 如何创建对 Bitbucket pull 请求的评论

python - 在 python 中转换 strptime 中的数据时出现问题

Python & macOS : open new Terminal window from Python, 传递要执行的命令

javascript - 在javascript警报中显示键值数组

python - 从python中的列表列表中删除逗号

android - 将 List<Double> 值从一项 Activity 传递到另一项 Activity

python - 在 NaN 处的 Cumsum 重置