Firefox中的JSON.stringify和换行符

yuk*_*kas 5 firefox json ruby-on-rails

我发现,当Firefox的JSON.stringify函数使用换行符转换字符串时,它会将'\n'字符转换为'\ u000a'.当这些数据通过jQuery.ajax.send而不是'\ u000a'进入服务器时,我只看到一个空格.有人遇到过同样的问题吗?请指出正确的方向.

ben*_*izi 0

换行符的 Unicode 代码点是 U+000A。Firefox 恰好选择将换行符编码为 Unicode '\u000a',而不是将其缩短为 '\n'。 根据 JSON 规范,允许使用 Unicode 形式。

您确定输出实际上有问题吗?任何 JSON 库都应该能够很好地处理 '\u000a'。

如果您通过将解码后的 JSON 封装在 HTML 中进行调试,则换行符相当于空白不重要的地方的空格。例如

<div>this
example</div>
Run Code Online (Sandbox Code Playgroud)

相当于:

<div>this example</div>
Run Code Online (Sandbox Code Playgroud)