Opened 10 years ago
Closed 10 years ago
#12666 closed bug (notabug)
$.parseJSON fails for valid json string if it has newlines
Reported by: | 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.
Change History (2)
comment:1 Changed 10 years ago by
comment:2 Changed 10 years ago by
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/ .
Note: See
TracTickets for help on using
tickets.
I've uploaded a test to jsFiddle.