On Fri, Aug 26, 2011 at 7:32 AM, Dave Howorth <dhowo...@mrc-lmb.cam.ac.uk> wrote: > There's a mail from Jim Spath in the pipermail archive that didn't make > it to the other archives (or to my inbox). It hasn't had any answers so > I'd suggest he repost it.
Thanks Dave! Here it is: So it turns out there are certain characters that are perfectly legal JSON that are NOT legal JavaScript: http://timelessrepo.com/json-isnt-a-javascript-subset We have run into this problem in our application which uses Catalyst::Controller::REST to output certain data as JSON or JSONP. Catalyst::Controller::REST first encodes the data as JSON, and then to create JSONP, simply wraps the JSON in a callback function, and no attempt is made to deal with possible illegal characters. I believe a solution would involve replacing the illegal characters in Catalyst::Action::Serialize::JSON before the string is wrapped in the callback function. Has anyone else run into this problem? > FWIW, IMHO the issue is better fixed in JSON::XS et al than in > Catalyst::Action::Serialize::JSON. I don't see why JSON can't always > encode the two problematic characters. I suppose it could be in JSON::XS .. but JSON::XS is doing nothing wrong ... the two characters are perfectly valid JSON ... but they are NOT valid in JavaScript. Perhaps it could be an option in JSON::XS? - Jim _______________________________________________ List: Catalyst@lists.scsys.co.uk Listinfo: http://lists.scsys.co.uk/cgi-bin/mailman/listinfo/catalyst Searchable archive: http://www.mail-archive.com/catalyst@lists.scsys.co.uk/ Dev site: http://dev.catalyst.perl.org/