From 44cc16c57e76a03696c8fa171000b33ddf07da55 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Micha=C5=82=20Go=C5=82e=CC=A8biowski?= As of jQuery 3.0, Passing in a malformed JSON string results in a JavaScript exception being thrown. For example, the following are all invalid JSON strings: The JSON standard does not permit "control characters" such as a tab or newline. An example like Where the browser provides a native implementation of Prior to jQuery 1.9, As of jQuery 3.0, $.parseJSON
is deprecated. To parse JSON strings use the native JSON.parse
method instead.
"{test: 1}"
(test does not have double quotes around it).$.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.JSON.parse
, jQuery uses it to parse the string. For details on the JSON format, see http://json.org/.$.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.$.parseJSON
is deprecated. To parse JSON objects, use the native JSON.parse
method instead.