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

如何将包含换行符的字符串解析为对象?能否使用JSON.parse实现该功能?

解析含换行符的字符串为对象:解决方案&JSON.parse的适用性

嘿,刚好可以帮你理清这个问题:

1. 直接用JSON.parse是可行的(针对转义后的换行符)

你给出的示例代码完全没问题!因为JSON规范允许字符串中包含转义的换行符(\n),JSON.parse能正确识别并解析这类格式。

运行你的代码:

const text = '{ "name": "Anne", "desc": "Hi,\nThis is me" }';
const obj = JSON.parse(text);
console.log(obj);

控制台会输出:

{ name: 'Anne', desc: 'Hi,\nThis is me' }

当你单独打印obj.desc时,还能看到实际的换行效果:

Hi,
This is me

2. 注意:未经转义的原始换行符会导致解析失败

如果你的字符串里是真实的换行(不是\n转义字符),比如像下面这种写法:

const text = `{ "name": "Anne", "desc": "Hi,
This is me" }`;

直接用JSON.parse会抛出语法错误——因为JSON语法不允许字符串内存在未经转义的换行。这时候需要先预处理字符串,把原始换行转成合法的转义字符:

const text = `{ "name": "Anne", "desc": "Hi,
This is me" }`;
// 替换所有原始换行为转义的\n
const processedText = text.replace(/\n/g, "\\n");
const obj = JSON.parse(processedText);
console.log(obj.desc); // 输出 Hi,\nThis is me(打印时自动换行)

总结

  • 带**转义换行符\n**的JSON字符串:直接用JSON.parse解析即可,完全符合规范
  • 带原始换行的字符串:先通过字符串替换将换行转为\n,再执行JSON.parse

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.01 00:12:28