如何正确解析包含换行符的合法 JSON 响应

秋磊同学_9762

秋磊同学_9762

2026-09-07

205人浏览

原创

如何正确解析包含换行符的合法 JSON 响应

第三方 API 返回的 JSON 中含有转义换行符(如 )是完全符合 JSON 规范的,可直接用标准解析器(如 JSON.parse())处理,无需预清洗;真正需关注的是解析后对字符串内容的规范化处理。

第三方 api 返回的 json 中含有转义换行符(如 ` `)是完全符合 json 规范的,可直接用标准解析器(如 `json.parse()`)处理,无需预清洗;真正需关注的是解析后对字符串内容的规范化处理。

该响应看似“异常”,实则完全合法:JSON 标准明确允许字符串中包含转义的换行符( )、制表符( )甚至 Unicode 字符。您看到的:

{"history":["1.) 01- AUTHOR - TOPIC / DATE
","2.) Author Topic  (May-2022)
", ...], ...}

中的 是已转义的换行字符(即字面量 + n),而非原始换行符(如 或裸回车),因此它属于 JSON 字符串值的正常组成部分,不是格式错误,也不影响解析。

✅ 正确做法:直接解析,再清理语义内容
以下为 JavaScript 示例(其他语言同理):

const rawResponse = `{"history":["1.) 01- AUTHOR - TOPIC \/ DATE\n","2.) Author Topic  (May-2022)\n","18.) Author Topic  (July-2022)\n","19.) Author Topic 2021\n"],"title":"Author email topic (June-2022)","art":"https:\/\/some_url.com\/cp\/library\/image.png","ulistener":"10","listeners":"2","bitrate":"128","djusername":"No DJ","djprofile":"https:\/\/some_url.com\/cp\/musiclibrary\/nodj.png"}`;

try {
  const data = JSON.parse(rawResponse); // ✅ 完全可行,无报错
  console.log('Parsed successfully:', data.title);

  // 清理 history 条目:去除末尾换行与多余空格
  const cleanedHistory = data.history.map(item => 
    item.trim().replace(/s+$/, '') // 或更彻底:item.replace(/
+$/g, '').trim()
  );
  console.log('Cleaned history:', cleanedHistory);
} catch (err) {
  console.error('JSON parsing failed:', err.message); // 仅当真格式错误时触发
}

⚠️ 注意事项:

Browser Js
Browser Js

轻量级CDP浏览器控制,适用于AI代理。相较于内置浏览器工具,token消耗降低3‑10倍,仅在浏览时使用。

下载
  • 不要尝试用正则或字符串替换“修复”原始 JSON 字符串再解析——这极易破坏合法转义(如 /、\),导致解析失败;
  • 若发现 JSON.parse() 报错,请检查是否混入了未转义的原始换行符(即 JSON 字符串中出现真实回车,而非 ),此时服务端确实违反了 JSON 规范,需联系对方修复;
  • 对于前端展示,建议统一调用 .trim() 或正则清理 / ;若用于搜索或比对,还应考虑标准化空白符(如将连续空白替换为单个空格)。

总结:这不是 JSON 解析问题,而是数据呈现层的文本规范化任务。信任标准解析器,把精力放在解析后的数据清洗与业务逻辑上,才是高效、稳健的实践方式。

相关文章

PHP速学视频免费教程(入门到精通)
PHP速学视频免费教程(入门到精通)

PHP怎么学习?PHP怎么入门?PHP在哪学?PHP怎么学才快?不用担心,这里为大家提供了PHP速学教程(入门到精通),有需要的小伙伴保存下载就能学习啦!

下载

相关标签:

js json

本站声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

相关专题

更多
json数据格式
json数据格式

JSON是一种轻量级的数据交换格式。本专题为大家带来json数据格式相关文章,帮助大家解决问题。

2023.08.07

2075

5

json是什么
json是什么

JSON是一种轻量级的数据交换格式,具有简洁、易读、跨平台和语言的特点,JSON数据是通过键值对的方式进行组织,其中键是字符串,值可以是字符串、数值、布尔值、数组、对象或者null,在Web开发、数据交换和配置文件等方面得到广泛应用。本专题为大家提供json相关的文章、下载、课程内容,供大家免费下载体验。

2023.08.23

3082

1

jquery怎么操作json
jquery怎么操作json

操作的方法有:1、“$.parseJSON(jsonString)”2、“$.getJSON(url, data, success)”;3、“$.each(obj, callback)”;4、“$.ajax()”。更多jquery怎么操作json的详细内容,可以访问本专题下面的文章。

2023.10.13

1036

3

go语言处理json数据方法
go语言处理json数据方法

本专题整合了go语言中处理json数据方法,阅读专题下面的文章了解更多详细内容。

2025.09.10

3499

7

js正则表达式
js正则表达式

php中文网为大家提供各种js正则表达式语法大全以及各种js正则表达式使用的方法,还有更多js正则表达式的相关文章、相关下载、相关课程,供大家免费下载体验。

2023.06.20

4176

8

正则表达式不包含
正则表达式不包含

正则表达式,又称规则表达式,,是一种文本模式,包括普通字符和特殊字符,是计算机科学的一个概念。正则表达式使用单个字符串来描述、匹配一系列匹配某个句法规则的字符串,通常被用来检索、替换那些符合某个模式的文本。php中文网给大家带来了有关正则表达式的相关教程以及文章,希望对大家能有所帮助。

2023.07.05

2701

4

java正则表达式语法
java正则表达式语法

java正则表达式语法是一种模式匹配工具,它非常有用,可以在处理文本和字符串时快速地查找、替换、验证和提取特定的模式和数据。本专题提供java正则表达式语法的相关文章、下载和专题,供大家免费下载体验。

2023.07.05

7382

9

java正则表达式匹配字符串
java正则表达式匹配字符串

在Java中,我们可以使用正则表达式来匹配字符串。本专题为大家带来java正则表达式匹配字符串的相关内容,帮助大家解决问题。

2023.08.11

792

5

正则表达式空格
正则表达式空格

正则表达式空格可以用“\s”来表示,它是一个特殊的元字符,用于匹配任意空白字符,包括空格、制表符、换行符等。本专题为大家提供正则表达式相关的文章、下载、课程内容,供大家免费下载体验。

2023.08.31

500

5

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
WEB前端教程【HTML5+CSS3+JS】
WEB前端教程【HTML5+CSS3+JS】

共101课时 | 20.9万人学习

JS进阶与BootStrap学习
JS进阶与BootStrap学习

共39课时 | 4.8万人学习