Dus*_*gal 5 javascript string json node.js
我得到以下字符串:
var str='{"message":"hello\nworld"}';
我需要把它变成 JSON 对象。但是,JSON.parse(str)由于\n
我看到了这个问题,但没有帮助。
从那以后,我尝试了
var j=JSON.parse(JSON.stringify(str))
但是当我使用时我仍然得到字符串而不是对象 typeof j
我知道使用\\n有效,但问题是,当我需要使用该值时,它不会在新行上打印。
更新:好的,我刚刚意识到\\n正在工作。我正在使用它来转换\n为\\n:
var str='{"message":"hello\nworld"}';
str=str.replace(/\n/g, "\\\\n").replace(/\r/g, "\\\\r").replace(/\t/g, "\\\\t");
var json=JSON.parse(str);
console.log(json.message);
Run Code Online (Sandbox Code Playgroud)
有人可以纠正它吗?
逃到\n那里\\n是正确的做法。在您的代码中,替换调用是错误的。你需要更少的斜线。更新了您的代码:
var str='{"message":"hello\nworld"}';
str=str.replace(/\n/g, "\\n").replace(/\r/g, "\\r").replace(/\t/g, "\\t");
var json=JSON.parse(str); //No errors due to escaping
Run Code Online (Sandbox Code Playgroud)
现在打印它,你会看到文本被分成不同的行。
console.log(json.message);
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
6453 次 |
| 最近记录: |