在 Python 中,将字典(dict)转换为 JSON 字符串非常简单,主要使用内置的 json 模块。以下是几种常见的方法:摘要:import json# 创建一个字典my_dict = { "name": "honeymoose", "age": 30, "skills": ["Python", "Java", "Go"], "is_active": True}# 转换为JSON字符串
1. 使用 json.dumps
import json# 创建一个字典my_dict = { "name": "honeymoose", "age": 30, "skills": ["Python", "Java", "Go"], "is_active": True}# 转换为JSON字符串json_str = json.dumps(my_dict)print(json_str)2. 格式化输出 JSON
# 带缩进的格式化输出formatted_json = json.dumps(my_dict, indent=4)print(formatted_json)# 按ASCII排序输出键sorted_json = json.dumps(my_dict, sort_keys=True)print(sorted_json)3. 处理中文
默认情况下,json.dumps 会将非ASCII字符转义。如果要正确显示中文,可以设置 ensure_ascii=False:chinese_dict = { "姓名": "张三", "城市": "北京"}# 正确显示中文chinese_json = json.dumps(chinese_dict, ensure_ascii=False)print(chinese_json)4. 将JSON字符串写入文件
with open('data.json', 'w', encoding='utf-8') as f: json.dump(my_dict, f, ensure_ascii=False, indent=4)注意区别:
json.dumps 返回JSON字符串
json.dump 将JSON数据写入文件对象
5. 自定义JSON编码
如果字典中包含自定义类对象,可以通过扩展JSONEncoder类来处理:
class CustomEncoder(json.JSONEncoder): def default(self, obj): if hasattr(obj, 'to_json'): return obj.to_json return super.default(obj)# 使用自定义编码器json_str = json.dumps(my_dict, cls=CustomEncoder)这些是Python中将dict转换为JSON字符串的常用方法,希望对您有所帮助!
来源:小源课堂
免责声明:本站系转载,并不代表本网赞同其观点和对其真实性负责。如涉及作品内容、版权和其它问题,请在30日内与本站联系,我们将在第一时间删除内容!