使用json.dumps()将Python对象编码为JSON字符串,支持dict、list、str等类型,通过ensure_ascii=False显示中文,indent设置缩进;用json.dump()写入文件。
在 Python3 中,JSON 编码指的是将 Python 对象(如字典、列表、字符串、数字等)转换为 JSON 格式的字符串。这个过程也叫序列化。Python 通过内置的 json 模块来实现编码和解码功能。
使用 json.dumps() 函数可以将 Python 对象编码成 JSON 字符串。
常见用法示例:基本语法:
import json
json_string = json.dumps(obj, indent=None, ensure_ascii=True)
参数说明:
on 对象例子:
data = {"name": "张三", "age": 25, "city": "北京"}
json_str = json.dumps(data, ensure_ascii=False, indent=2)
print(json_str)
输出结果:
{ "name": "张三", "age": 25, "city": "北京" }
Python 到 JSON 的类型转换规则如下:
注意:自定义对象默认不能直接编码,需要提供默认函数或继承重写。
使用 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 和编码问题。