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

如何移除JSON对象类型值的双引号?已尝试处理\r\n等转义符

解决方法:将嵌套的JSON字符串转为JSON对象

核心思路

不需要手动去除\r\n或转义双引号,专业JSON解析库会自动处理这些转义字符。关键是先修正原始JSON的语法错误,再对嵌套的字符串字段进行二次解析。

注意:先修正原始JSON的语法问题

你提供的原始数据中,RequestjView字段的字符串末尾多了一个多余的双引号,这会导致解析失败,必须先去除这个额外的",修正后的原始JSON语法才是有效的。


Python 实现方案

import json

# 修正后的原始JSON字符串
raw_json = '[{"MetaId":4,"FilePrefix":" as- apt05 - 04 - 2023", "RequestjView":"{ \\r\\n  \\"article\\": {\\r\\n    \\"article_doi\\": \\"10.1139/cgj-2022-44441\\",\\r\\n    \\"data\\": null\\r\\n  },\\r\\n  \\"RequestID\\": \\"SCP2304110002\\"\\r\\n}"}]'

# 1. 解析外层JSON
data = json.loads(raw_json)

# 2. 对每个元素的RequestjView字段进行二次JSON解析
for item in data:
    item["RequestjView"] = json.loads(item["RequestjView"])

# 输出处理后的结果
print(json.dumps(data, indent=2))

JavaScript 实现方案

// 修正后的原始JSON字符串
const rawJson = '[{"MetaId":4,"FilePrefix":" as- apt05 - 04 - 2023", "RequestjView":"{ \\r\\n  \\"article\\": {\\r\\n    \\"article_doi\\": \\"10.1139/cgj-2022-44441\\",\\r\\n    \\"data\\": null\\r\\n  },\\r\\n  \\"RequestID\\": \\"SCP2304110002\\"\\r\\n}"}]';

// 1. 解析外层JSON
let data = JSON.parse(rawJson);

// 2. 处理嵌套的JSON字符串字段
data.forEach(item => {
  item.RequestjView = JSON.parse(item.RequestjView);
});

// 输出结果
console.log(JSON.stringify(data, null, 2));

关键说明

  1. 不要手动处理转义字符:json.loads()(Python)或JSON.parse()(JS)会自动识别并处理字符串中的\r\n、转义双引号等格式,手动替换容易破坏JSON结构。
  2. 语法校验优先:如果解析报错,先检查原始JSON的语法是否合法,比如多余的引号、缺失的逗号等问题。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.20 18:22:56