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

JSON文件含特殊符号无法解码,如何清除这些符号?

清理JSON文件首尾特殊符号的实用方案

方法1:Python脚本批量处理

适合大文件或需要自动化处理的场景:

  • 核心思路:用正则匹配出所有完整的JSON对象(支持嵌套大括号),过滤掉前后的垃圾符号,再保存为干净的JSON文件。
  • 直接用下面的代码(替换文件名即可):
import re
import json

# 读取带垃圾符号的原始文件
with open('dirty_json.txt', 'r', encoding='utf-8', errors='ignore') as f:
    raw_content = f.read()

# 匹配所有完整的JSON结构(支持嵌套{})
json_pattern = re.compile(r'\{(?:[^{}]|(?R))*\}')
valid_json_pieces = json_pattern.findall(raw_content)

# 保存清理后的文件
with open('cleaned_json.json', 'w', encoding='utf-8') as f:
    if len(valid_json_pieces) == 1:
        # 单个JSON对象直接格式化保存
        json.dump(json.loads(valid_json_pieces[0]), f, indent=2)
    else:
        # 多个对象整理成JSON数组
        json.dump([json.loads(piece) for piece in valid_json_pieces], f, indent=2)
  • 小提示:errors='ignore'能跳过那些无法识别的乱码字节,正则表达式专门针对嵌套大括号设计,不会提取不完整的JSON片段。

方法2:Notepad++手动替换(小文件快速处理)

如果文件不大,手动操作更直接:

  1. 用Notepad++打开目标文件,按下Ctrl+H打开查找替换窗口
  2. 勾选「正则表达式」模式,取消「.匹配换行符」选项
  3. 查找目标输入:.*?(\{(?:[^{}]|(?R))*\}).*?
  4. 替换为输入:$1\n
  5. 点击「全部替换」,所有合法的JSON内容会被提取出来,垃圾符号直接被删除
  6. 如果是多个JSON对象,手动在首尾加[和],对象之间加逗号,就能组成合法的JSON数组

额外提醒

  • 这些特殊符号一般是传输过程中混入的冗余标识或错误字节,只要提取出的JSON结构完整,就能正常解码。
  • 处理完可以用Python的json.loads验证,确保没有语法错误。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.01 07:31:06