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。
答案 0 :(得分:0)
感谢Bergi给我的答案,我现在明白JSON.parse已经完成了他的工作。 这是我的错,我提供了一个内部带有“\\ n”的json文件,而不只是“\ n”。
这里有一个更新的jsbin,你可以看到现在JSON.parse在不同场景中的行为相同。 https://jsbin.com/xezipucili/1/edit?js,console