You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Python读取JSON文件时如何保留特殊字符?

解决Python读取JSON时特殊字符乱码的问题

这个问题本质是编码不匹配导致的——你的JSON文件里的UTF-8字符被Python用系统默认编码(比如Windows上的cp1252)错误解码了,所以才出现了sejÃ\xado这种乱码。下面是具体的解决步骤:

1. 确保JSON文件以UTF-8编码保存

很多编辑器(比如Windows记事本)默认用ANSI编码保存文件,这会破坏特殊字符。你需要:

  • 用代码编辑器(VS Code、Sublime等)打开JSON文件
  • 选择「另存为」,在编码选项里选择UTF-8(不要选UTF-8 BOM,除非有特殊需求)
  • 确认文件内容保持正确的双引号格式:{ "list_1":["numeral sejío"] }

2. 读取JSON时明确指定UTF-8编码

Python的open()函数默认使用系统编码,你需要手动指定encoding='utf-8'来保证正确解码。示例代码:

import json

# 读取文件时指定编码为UTF-8
with open('your_json_file.json', 'r', encoding='utf-8') as f:
    json_data = json.load(f)

# 注意:JSON解析后是字典,应该用键访问而不是属性(除非你用了特殊工具转成对象)
print(json_data['list_1'])  # 输出:['numeral sejío']

为什么会出现这个问题?

你看到的sejÃ\xado是UTF-8编码的sejío被用Latin-1(cp1252)解码后的结果:

  • í的UTF-8编码是0xC3 0xAD
  • 用Latin-1解码时,0xC3变成Ã,0xAD变成\xAD(软连字符),就出现了乱码。

只要保证文件保存和读取都用UTF-8编码,就能完美保留原始特殊字符啦~

内容的提问来源于stack exchange,提问作者sayan_sen

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.04.28 20:49:08