2016-03-03 51 views
1

我正在使用React构建应用程序。json字符串中的换行符不会出现在js对象中

我正在使用axios.get()将json对象转变为js对象。 json包含一个字符串"First line \n Second line"。当我把它变成一个js对象时,字符串变成"First line ↵ Second line"。这不会被解释为Chrome/Firefox浏览器中的新行。

我如何成功将\n解释为一条新线?

谢谢。

编辑:

我使用的终极版,承诺采取后续行动对Axios公司回报的承诺。

+1

服务器发送的json字符串是否包含实际的换行符或反斜杠后跟字母'n'? 'JSON.parse'似乎需要后者。 – traktor53

+0

你可以尝试在你的css中添加'white-space:pre-line;'对于那个元素 – xkcd149

+0

@ Traktor53,json确实包含一个反斜杠,后面跟着字母'n'。我没有使用JSON.parse。相反,我使用Redux-Promise来跟踪axios返回的承诺。 – Nico

回答

0

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

+0

我将JSON更改为“第一行\\ n第二行”;现在我在浏览器中出现“第一行\ n第二行”。不完全的。 '\ n'仍然没有正确解释。 – Nico

+0

您可以映射您的文本并插入分隔线 -
标签。 '{this.props.yourObject.string.split(“\ n”)。图(功能(文​​本){ 回报( {文本}
) })}' – Simon

+0

我欣赏该建议,但是这将是非常乏味的,因为我有几个字符串与这个问题,解决方案太冗长,无法扩展。 – Nico