前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >专栏 >Python dict 转换为 JSON 字符串的方法

Python dict 转换为 JSON 字符串的方法

作者头像
HoneyMoose
发布于 2025-03-20 18:20:22
发布于 2025-03-20 18:20:22
9800
代码可运行
举报
文章被收录于专栏:CWIKIUSCWIKIUS
运行总次数:0
代码可运行

Python 中,将字典(dict)转换为 JSON 字符串非常简单,主要使用内置的 json 模块。以下是几种常见的方法:

1. 使用 json.dumps()

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
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

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
# 带缩进的格式化输出
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

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
chinese_dict = {
    "姓名": "张三",
    "城市": "北京"
}

# 正确显示中文
chinese_json = json.dumps(chinese_dict, ensure_ascii=False)
print(chinese_json)

4. 将JSON字符串写入文件

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
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类来处理:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
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-load-loads-dump-dumps

本文系转载,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文系转载,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 1. 使用 json.dumps()
  • 2. 格式化输出 JSON
  • 3. 处理中文
  • 4. 将JSON字符串写入文件
  • 5. 自定义JSON编码
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文