csdn/CSDN博文备份/Pythondict转换为JSON字符串的方法-146410216.md
2025-03-21 02:19:41 +08:00

2.7 KiB
Raw Permalink Blame History

在 Python 中,将字典(dict)转换为 JSON 字符串非常简单,主要使用内置的 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字符串的常用方法希望对您有所帮助



python-json-load-loads-dump-dumps



Python字典转JSON字符串的方法 - #3 by honeymoose - Python - iSharkFly