从元组列表生成JSON
把元组列表转换成指定格式JSON的方法
嘿,这个需求超常见,我来一步步教你怎么实现👇
第一步:把每个元组映射成目标字典
首先我们要把元组里的元素和你想要的键一一对应上。注意你给出的目标字典只用到了元组的前3个元素,第四个元素会被忽略,我们先按这个需求来:
import json # 你的原始元组列表 result = [(0,"string1",4,"string2"),(1,"string3",10,"string4")] # 定义和元组元素对应的键,顺序要对应上! target_keys = ["id", "firstname", "age"] # 遍历生成字典列表 dict_collection = [] for tuple_item in result: # 取元组前3个元素和键配对成字典 single_dict = dict(zip(target_keys, tuple_item[:3])) dict_collection.append(single_dict)
第二步:转换成JSON格式
有了字典列表之后,用Python的json模块就能轻松转成JSON了:
# 转换成带缩进的JSON字符串,方便阅读 final_json = json.dumps(dict_collection, indent=4) print(final_json)
运行这段代码后,你会得到完全符合要求的输出:
[ { "id": 0, "firstname": "string1", "age": 4 }, { "id": 1, "firstname": "string3", "age": 10 } ]
小补充:如果要保留第四个元素
要是之后你想把元组里的第四个字符串也加入字典,只需要修改target_keys就行,比如:
target_keys = ["id", "firstname", "age", "description"] # 这时候不用切片,直接用整个元组配对 single_dict = dict(zip(target_keys, tuple_item))
这样就能灵活扩展字段啦~
内容的提问来源于stack exchange,提问作者truthfool
相关产品推荐
相关产品推荐

