JavaScript中如何将换行、制表符转换为字面量\n\t适配JSON存储
多行HTML转JSON兼容单行字符串解决方案
实现步骤
- 先统一换行符格式,消除Windows和Unix系统换行符差异
- 替换真实换行符为转义字面量
\\n - 替换行首缩进空格为转义制表符字面量
\\t - 替换全角中文引号为标准HTML转义引号
"
JavaScript实现代码(适用于浏览器文本框场景)
// 读取输入文本框内容 const input = document.querySelector('#inputTextarea').value; const result = input // 统一换行符为\n .replace(/\r\n/g, '\n') // 替换所有换行为转义的\n .replace(/\n/g, '\\n') // 替换换行后的4个空格为转义\t,匹配示例的缩进规则 .replace(/\\n\s{4}/g, '\\n\\t') // 替换全角引号为转义的" .replace(/[“”]/g, '"'); // 写入输出文本框或直接存入JSON对象 document.querySelector('#outputTextarea').value = result;
注意:替换时用双反斜杠是为了转义反斜杠本身,确保最终输出的字符串中会保留
\字符,满足JSON语法规范。
效果验证
输入示例:
<div class=“element”> <span>text</span> </div>
输出结果:
<div class="element">\n\t<span>text</span>\n</div>
和要求的目标输出完全匹配。
内容的提问来源于stack exchange,提问作者Tom
相关产品推荐
相关产品推荐

