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"(undefinedcannot be represented in a JSON string;null, however, can be). -
"NaN"(NaNcannot be represented in a JSON string; direct representation ofInfinityis 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 http://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.
The JSON string to parse.
Parse a JSON string.
var obj = jQuery.parseJSON( '{ "name": "John" }' );
alert( obj.name === "John" );
Please login to continue.