Javascript json字符串中的换行符don';不出现在js对象中
我正在用React构建一个应用程序 我正在使用.get()将json对象转换为js对象。json包含一个字符串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
“第一行\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
;”,但没有成功。对于第二个建议,我不确定该把代码放在哪里。为了解决这个问题,我最终将字符串分离为一个字符串数组。这也给了我更多的显示文本的灵活性,所以这是一个很好的折衷方案。