为什么斜杠是JSON中的一个易变字符?

可能重复:
JSON:为什么正斜杠会逃脱?

json.org表示,正斜线(又名固体, / )可以逃脱:

"/"

但是,非斜杠斜线也是有效的:

"/"

这背后的理由是什么? 它来自Javascript的根源吗? (即, "</script>"是基于浏览器的Javascript中的一个问题,请参阅Douglas Crockford的评论)还是有其他原因?


我刚刚在我的博客上发布了关于此问题的评论。 我认为你是对的,这是唯一的原因。 另外请注意,斜线是唯一允许转义的标准字符。

通常情况下,JSON编码器会做错误的,并且逃避沿途发现的任何斜线,而只有</script>的斜线应该被转义,也许所有匹配的JavaScript RegExp /</w+/都是相同的原因。

编辑:修复了博客链接。


看来,我的第一个想法是正确的。

'/' === '/'在JavaScript中,JSON几乎是有效的JavaScript。 但是,为什么JSON中不允许其他的转义(如z )?

关键是阅读http://www.cs.tut.fi/~jkorpela/www/revsol.html,然后是http://www.w3.org/TR/html4/appendix/notes.html#hB .3.2。 斜线转义的功能允许将JSON嵌入到HTML(如SGML)和XML中。

链接地址: http://www.djcxy.com/p/8397.html

上一篇: Why is the slash an escapable character in JSON?

下一篇: What is the correct syntax of ng