Type:
String
The JSON string to parse.
As of jQuery 3.0,
$.parseJSON
is deprecated. To parse JSON strings use the native
JSON.parse
method instead.
Passing in a malformed JSON string results in a JavaScript exception being thrown. For example, the following are all invalid JSON strings:
"{test: 1}"
(test does not have double quotes around it).
"{'test': 1}"
('test' is using single quotes instead of double quotes).
"'test'"
('test' is using single quotes instead of double quotes).
".1"
(a number must start with a digit;
"0.1"
would be valid).
"undefined"
(
undefined
cannot be represented in a JSON string;
null
, however, can be).
"NaN"
(
NaN
cannot be represented in a JSON string; direct representation of
Infinity
is also not permitted).
The JSON standard does not permit "control characters" such as a tab or newline. An example like
$.parseJSON( '{ "testing":"1\t2\n3" }' )
will throw an error in most implementations because the JavaScript parser converts the string's tab and newline escapes into literal tab and newline; doubling the backslashes like
"1\\t2\\n3"
yields expected results. This problem is often seen when injecting JSON into a JavaScript file from a server-side language such as PHP.
Where the browser provides a native implementation of
JSON.parse
, jQuery uses it to parse the string. For details on the JSON format, see
https://json.org/
.
Prior to jQuery 1.9,
$.parseJSON
returned
null
instead of throwing an error if it was passed an empty string,
null
, or
undefined
, even though those are not valid JSON.