Side navigation
#12666 closed bug (notabug)
Opened October 07, 2012 02:01AM UTC
Closed October 07, 2012 03:35AM UTC
$.parseJSON fails for valid json string if it has newlines
Reported by: | theom3ga@gmail.com | Owned by: | |
---|---|---|---|
Priority: | undecided | Milestone: | None |
Component: | core | Version: | 1.8.0 |
Keywords: | Cc: | ||
Blocked by: | Blocking: |
Description
I think I've found a problem in jQuery's parseJSON
function.
Suppose I have the following JSON:
{ "hello": "hi\\nlittle boy?" }
If you check it using JSONlint you can see it's valid JSON. However, if you try the following, you get an error message:
$(function(){ try{ $.parseJSON('{ "hello": "hi\\nlittle boy?" }'); } catch (exception) { alert(exception.message); } });
The Official JSON Website says that the "\\n" character is a valid character inside a JSON string.
Attachments (0)
Change History (2)
Changed October 07, 2012 02:02AM UTC by comment:1
Changed October 07, 2012 03:35AM UTC by comment:2
component: | unfiled → core |
---|---|
resolution: | → notabug |
status: | new → closed |
http://json.org/ specifies that strings cannot contain unescaped control characters like newline. If you're specifying data like that, you must escape the backslash so the JSON parser sees it instead of the newline: http://jsfiddle.net/m8t89/3/ .
I've uploaded a test to jsFiddle.