Bug Tracker

Opened 10 years ago

Closed 10 years ago

#12666 closed bug (notabug)

$.parseJSON fails for valid json string if it has newlines

Reported by: [email protected] Owned by:
Priority: undecided Milestone: None
Component: core Version: 1.8.0
Keywords: Cc:
Blocked by: Blocking:


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:

        $.parseJSON('{ "hello": "hi\nlittle boy?" }');
    } catch (exception) {

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 [email protected]

I've uploaded a test to jsFiddle.

comment:2 Changed 10 years ago by gibson042

Component: unfiledcore
Resolution: notabug
Status: newclosed

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.