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

Python JSON对象特殊字符处理:修复格式错误的JSON字符串

修复格式错误的JSON字符串实现思路

核心问题分析

输入的JSON是一个仅包含单个字符串元素的数组,这个字符串内部是两个JSON对象的结构,但被额外引号包裹、内部双引号被转义,还带有多余换行,导致整体不是合法的对象数组。我们需要剥离外层冗余结构,还原内部JSON语法并重新组合成合法数组。

实现步骤

  • 步骤1:提取内部字符串
    用JSON解析工具加载输入的数组,直接取出数组中唯一的字符串元素。
  • 步骤2:还原双引号
    将字符串中所有转义双引号\"替换为普通双引号",恢复JSON对象的合法语法格式。
  • 步骤3:清理冗余格式
    移除字符串中的换行符、连续多余空格,让结构更紧凑(保留必要空格不影响解析)。
  • 步骤4:重组合法JSON数组
    将处理后的字符串用方括号[]包裹,得到标准的JSON对象数组。

代码示例(Python)

import json

# 输入的原始JSON字符串(已去除<pre><code>标签)
input_str = '["{\n \"id\": \"1234\", \n \"name\":\"aaa\", \n \"dept\": \"IT\"\n}, \n{\n \"id\": \"1234-AB\", \n \"name\":\"bbb\", \n \"dept\": \"IT\"\n}\n"]'

# 解析输入数组,取出内部字符串
inner_content = json.loads(input_str)[0]

# 替换转义引号,清理换行和多余空格
cleaned_content = inner_content.replace('\\"', '"').strip().replace('\n', '').replace('  ', ' ')

# 组合成合法JSON数组
final_json = f"[{cleaned_content}]"

print(final_json)
# 输出结果:[{"id": "1234", "name":"aaa", "dept": "IT"}, {"id": "1234-AB", "name":"bbb", "dept": "IT"}]

验证方法

使用json.loads(final_json)验证输出是否为合法JSON,若未抛出异常则说明处理成功。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.02 06:24:51