Python处理JSON依赖json模块,核心是loads()解析字符串、load()读文件、dumps()转字符串、dump()写文件;需注意数据类型、编码、异常处理及with语句资源管理。

Python处理JSON数据主要靠内置的json模块,核心是json.loads()(解析字符串为Python对象)和json.dumps()(序列化Python对象为JSON字符串)。关键要分清数据来源(字符串 or 文件)和目标类型(字典/列表 or 文件写入),避免类型错误和编码问题。
从字符串读取JSON:用loads()转成Python对象
适用于API响应、配置字符串等已加载到内存的JSON文本。必须确保字符串格式合法,否则会抛json.JSONDecodeError。
- 直接解析:`data = json.loads('{"name": "Alice", "age": 30}')` → 得到字典
- 处理嵌套结构:JSON数组会自动转为Python列表,可直接索引或遍历
- 容错建议:用
try...except捕获解析异常,配合print()输出原始字符串便于调试
从文件读取JSON:用load()省去手动读取步骤
比先用open()读字符串再loads()更简洁,自动处理文件打开与编码(默认UTF-8)。
- 标准写法:`with open("config.json", "r", encoding="utf-8") as f: data = json.load(f)`
- 注意文件路径和权限,Windows下反斜杠需用双反斜杠或原始字符串(
r"path\to\file.json") - 如果文件含BOM头或非UTF-8编码(如GBK),需显式指定
encoding参数
把Python数据存成JSON字符串:dumps()控制输出格式
用于生成API请求体、日志记录或临时调试输出。默认压缩无空格,可通过参数提升可读性。
标签: python js json windows 编码 win json数组
还木有评论哦,快来抢沙发吧~