Javascript json字符串中的换行符don';不出现在js对象中

Javascript json字符串中的换行符don';不出现在js对象中,javascript,json,Javascript,Json,我正在用React构建一个应用程序 我正在使用.get()将json对象转换为js对象。json包含一个字符串“第一行\n第二行”。当我将其转换为js对象时,字符串成为第一行↵ 第二行“。这不会被解释为Chrome/Firefox浏览器中的新行 如何成功地将\n解释为新行 多谢各位 编辑: 我正在使用Redux Promise来跟进axios返回的承诺。您必须用另一个反斜杠来逃避\n。 请尝试“第一行\\n第二行”您必须用另一个反斜杠来转义\n。 请尝试“第一行\\n第二行”服务器发送的json

我正在用React构建一个应用程序

我正在使用.get()将json对象转换为js对象。json包含一个字符串
“第一行\n第二行”
。当我将其转换为js对象时,字符串成为第一行↵ 第二行“。这不会被解释为Chrome/Firefox浏览器中的新行

如何成功地将
\n
解释为新行

多谢各位

编辑:


我正在使用Redux Promise来跟进axios返回的承诺。

您必须用另一个反斜杠来逃避\n。
请尝试“第一行\\n第二行”

您必须用另一个反斜杠来转义\n。

请尝试“第一行\\n第二行”

服务器发送的json字符串是否包含实际的换行符或后跟字母“n”的反斜杠
JSON.parse
似乎需要后者。您可以尝试添加
空白:pre-line到你的css中element@Traktor53json确实包含一个反斜杠,后跟字母“n”。我没有使用JSON.parse。相反,我使用Redux Promise来跟进axios返回的承诺。@xkcd149我尝试过这个;不幸的是,它不起作用。暴力和无知的方法是使用,例如,
newlineString=badString.replace(/\u21b5/g,“\n”)将向下曲线箭头更改回换行符找出替换发生的位置需要对库代码进行一些调试。我建议从未压缩的
axion.js
(其中调用了
JSON.parse
)的第233行开始,但我没有查看它的设置。服务器发送的JSON字符串是否包含实际的换行符或后跟字母“n”的反斜杠
JSON.parse
似乎需要后者。您可以尝试添加
空白:pre-line到你的css中element@Traktor53json确实包含一个反斜杠,后跟字母“n”。我没有使用JSON.parse。相反,我使用Redux Promise来跟进axios返回的承诺。@xkcd149我尝试过这个;不幸的是,它不起作用。暴力和无知的方法是使用,例如,
newlineString=badString.replace(/\u21b5/g,“\n”)将向下曲线箭头更改回换行符找出替换发生的位置需要对库代码进行一些调试。我建议从未压缩的
axion.js
(其中调用了
JSON.parse
)的第233行开始,但我没有查看它的设置。我将JSON更改为“第一行\\n第二行”;现在浏览器中出现了“第一行\n第二行”。不完全是。“\n”的解释仍然不正确。您可以映射文本并插入换行符-
标记
{this.props.yourObject.string.split(“\n”).map(函数(文本){return({text}
)}}
我很感激这个建议,但是它会非常乏味,因为我有几个字符串处理这个问题,而且解决方案太冗长,无法扩展。好的,有效的一点,最后两个建议。您可以尝试用Html实体替换\\n 用于线路馈电和 ;乘马车返回。因此,将\\n替换为“ ; ;”可能有效。或者,我最近遇到了转义Unicode字符的问题。使用String.fromCharCode(..)修复了此问题。所以这也可以起作用。var newline=String.fromCharCode(13,10);text.replaceAll('\\n',换行符);谢谢你的建议。我试图实现“13 ;”,但没有成功。对于第二个建议,我不确定该把代码放在哪里。为了解决这个问题,我最终将字符串分离为一个字符串数组。这也给了我显示文本的更多灵活性,所以这是一个很好的折衷方案;现在浏览器中出现了“第一行\n第二行”。不完全是。“\n”的解释仍然不正确。您可以映射文本并插入换行符-
标记
{this.props.yourObject.string.split(“\n”).map(函数(文本){return({text}
)}}
我很感激这个建议,但是它会非常乏味,因为我有几个字符串处理这个问题,而且解决方案太冗长,无法扩展。好的,有效的一点,最后两个建议。您可以尝试用Html实体替换\\n 用于线路馈电和 ;乘马车返回。因此,将\\n替换为“ ; ;”可能有效。或者,我最近遇到了转义Unicode字符的问题。使用String.fromCharCode(..)修复了此问题。所以这也可以起作用。var newline=String.fromCharCode(13,10);text.replaceAll('\\n',换行符);谢谢你的建议。我试图实现“13 ;”,但没有成功。对于第二个建议,我不确定该把代码放在哪里。为了解决这个问题,我最终将字符串分离为一个字符串数组。这也给了我更多的显示文本的灵活性,所以这是一个很好的折衷方案。