[DJSON-9] Always escape U+2028 and U+2029 to be nice to broken JSON parsers Created: 28/Apr/13 Updated: 28/Apr/13 |
|
| Status: | Open |
| Project: | data.json |
| Component/s: | None |
| Affects Version/s: | None |
| Fix Version/s: | None |
| Type: | Enhancement | Priority: | Minor |
| Reporter: | Tim McCormack | Assignee: | Unassigned |
| Resolution: | Unresolved | Votes: | 0 |
| Labels: | None | ||
| Attachments: |
|
| Description |
|
U+2028 and U+2029 should be treated like \n and, viz, escaped even when *escape-unicode* is false. A number of JSON parsers (such as ExtJS's) think they can eval JSON in a JS runtime to decode it. This is not true, since JS does not allow U+2028 and U+2029 unescaped in strings: http://timelessrepo.com/json-isnt-a-javascript-subset While this is broken behavior, it is also quite common, so escaping these characters uniformly may ease some developer pain and surprise. |
| Comments |
| Comment by Tim McCormack [ 28/Apr/13 9:46 PM ] |
|
Attached patch. |