json.org states, that forward slashes (aka solidus, /
) can be escaped:
"\/"
However, unescaped slashes are valid, too:
"/"
What's the rational behind this? Does it come from the Javascript roots? (I.e., ""
is a problem in browser-based Javascript, see Douglas Crockford's comment) Or has it any other reason?
Answer
It seems, my first thought was correct.
'\/' === '/'
in JavaScript, and JSON almost is valid JavaScript.
However, why are the other ignored escapes (like \z
) not allowed in JSON?
The key for this was reading http://www.cs.tut.fi/~jkorpela/www/revsol.html, followed by http://www.w3.org/TR/html4/appendix/notes.html#h-B.3.2. The feature of the slash escape allows JSON to be embedded in HTML (as SGML) and XML.
No comments:
Post a Comment