python3中json编码是什么?怎么用?

使用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

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)

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 文件,中文也能正常显示。

基本上就这些。掌握 dumpsdump,就能处理大多数 JSON 编码需求了。不复杂但容易忽略 ensure_ascii 和编码问题。