<< Back to previous view

[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: Text File 0001-Escape-JS-forbidden-unicode-chars-to-be-nice-to-brok.patch    

 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.





Generated at Sat May 18 10:28:09 CDT 2013 using JIRA 4.4#649-r158309.