使用json.dumps()将Python对象编码为JSON字符串,支持dict、list、str等类型,通过ensure_ascii=False显示中文,indent设置缩进;用json.dump()写入文件。

在 Python3 中,JSON 编码指的是将 Python 对象(如字典、列表、字符串、数字等)转换为 JSON 格式的字符串。这个过程也叫序列化。Python 通过内置的 json 模块来实现编码和解码功能。
怎么使用 json 编码?
使用 json.dumps() 函数可以将 Python 对象编码成 JSON 字符串。
常见用法示例:- 把字典转成 JSON 字符串
- 把列表转成 JSON 字符串
- 控制输出格式(如缩进、排序)
基本语法:
import json
立即学习“Python免费学习笔记(深入)”;
json_string = json.dumps(obj, indent=None, ensure_ascii=True)
参数说明:
- obj:要编码的 Python 对象
- indent:设置缩进格式,美化输出。比如 indent=2
- ensure_ascii:默认 True,设为 False 可以正常显示中文等非 ASCII 字符
例子:
data = {"name": "张三", "age": 25, "city": "北京"}
json_str = json.dumps(data, ensure_ascii=False, indent=2)
自从百度屏蔽淘宝客网站、淘宝抛弃淘宝客之后,个人站长集体陷入了恐慌之中。此时,什么值得买网的异军突起引起了广大个人站长的极大关注。做一个什么值得买一样的导购网站成了众多个人站长的一致心愿! TP-COUPON 导购系统 即是让个人站长实现此心愿的绝佳选择! 欢迎个人站长选用。V1.1版 更新记录:1.修正请求时查询淘宝店铺错误的bug2.删除一些无用的代码
print(json_str)
输出结果:
{ "name": "张三", "age": 25, "city": "北京" }
编码时支持哪些数据类型?
Python 到 JSON 的类型转换规则如下:
- dict → object
- list 或 tuple → array
- str → string
- int/float → number
- True → true
- False → false
- None → null
注意:自定义对象默认不能直接编码,需要提供默认函数或继承重写。
编码到文件怎么办?
使用 json.dump() 可以直接把对象写入文件。
with open('data.json', 'w', encoding='utf-8') as f:
json.dump(data, f, ensure_ascii=False, indent=2)
这样就把 data 写进了 data.json 文件,中文也能正常显示。
基本上就这些。掌握 dumps 和 dump,就能处理大多数 JSON 编码需求了。不复杂但容易忽略 ensure_ascii 和编码问题。










