Python如何提取JSON指定字段并重组为符合要求的新JSON结构
问题原因
你的代码存在两处核心错误:
zip()函数使用逻辑错误:zip()会将传入的可迭代对象按位置一一配对,你传入的第一个参数是字符串"title:"/"uuid:",会被拆解为单个独立字符,和data['title']/data['uuid']返回的字符串的每个字符配对,最终就得到了拆分单个字符的错误字典。- 字典重复赋值覆盖:你连续两次给
dictionary变量赋值,第一次生成的存储title的字典会被第二次的uuid字典直接覆盖,就算zip用法正确也没法同时保留两个字段。
正确实现代码
基础循环写法
import json # 初始化存储转换后元素的空列表 new_result_list = [] for data in results['results']: # 直接构造符合要求的字典,将uuid重命名为id processed_item = { "title": data["title"], "id": data["uuid"] } new_result_list.append(processed_item) # 组装为最终要求的结构 final_result = {"results": new_result_list} # 若需要输出格式化的JSON字符串,可使用以下代码 # print(json.dumps(final_result, ensure_ascii=False, indent=4))
简洁列表推导式写法
如果追求代码简洁,可以用列表推导式一步完成转换:
final_result = { "results": [{"title": item["title"], "id": item["uuid"]} for item in results["results"]] }
内容的提问来源于stack exchange,提问作者user12217822
相关产品推荐
相关产品推荐

