Javascript JSON.parse函数与Ajax请求和“\\ n”新行转义char

时间:2016-04-19 22:53:22

标签: javascript json ajax escaping

https://jsbin.com/zuhatujoqo/1/edit?js,console

编辑:json文件有这一行:

{"pd":"ciao \\n ste"}

我正在请求带有ajax调用的有效json文件 然后JSON.parse结果。

我不明白来自我的json文件的“\\ n”转义新行char会发生什么。

如果我用相同的值提供它,JSON.parse会给我不同的结果。

var result = JSON.parse(data);
console.log(result);
var result2 = JSON.parse('{"pd":"ciao \\n ste"}');
console.log(result2);

据我了解,这可能与javascript之前然后解析是逃避(或unescaping ??)字符串有关。

问题在于我也不明白这一点:

result = result.replace(/\\n/g, "<br />");

我还必须逃避正则表达式本身吗?

总结:我想使用通过Ajax加载的.json文件。 我希望JSON.parse能够完成他的工作并且不会让“\\ n”返回NewLine char。

1 个答案:

答案 0 :(得分:0)

感谢Bergi给我的答案,我现在明白JSON.parse已经完成了他的工作。 这是我的错,我提供了一个内部带有“\\ n”的json文件,而不只是“\ n”。

这里有一个更新的jsbin,你可以看到现在JSON.parse在不同场景中的行为相同。 https://jsbin.com/xezipucili/1/edit?js,console