From: Rick Waldron Date: Mon, 17 Dec 2012 22:02:23 +0000 (-0500) Subject: 2.0: Remove JSON.parse shim X-Git-Tag: 2.0.0b1~57^2~13 X-Git-Url: https://source.dussan.org/?a=commitdiff_plain;h=bd9498c5ee91303f72bb44f09b4c6c28a33f1225;p=jquery.git 2.0: Remove JSON.parse shim Signed-off-by: Rick Waldron --- diff --git a/src/core.js b/src/core.js index 44ad7fe67..d4166ce19 100644 --- a/src/core.js +++ b/src/core.js @@ -52,12 +52,6 @@ var // Match a standalone tag rsingleTag = /^<(\w+)\s*\/?>(?:<\/\1>|)$/, - // JSON RegExp - rvalidchars = /^[\],:{}\s]*$/, - rvalidbraces = /(?:^|:|,)(?:\s*\[)+/g, - rvalidescape = /\\(?:["\\\/bfnrt]|u[\da-fA-F]{4})/g, - rvalidtokens = /"[^"\\\r\n]*"|true|false|null|-?(?:\d+\.|)\d+(?:[eE][+-]?\d+|)/g, - // Matches dashed string for camelizing rmsPrefix = /^-ms-/, rdashAlpha = /-([\da-z])/gi, @@ -495,33 +489,7 @@ jQuery.extend({ }, parseJSON: function( data ) { - // Attempt to parse using the native JSON parser first - if ( window.JSON && window.JSON.parse ) { - return window.JSON.parse( data ); - } - - if ( data === null ) { - return data; - } - - if ( typeof data === "string" ) { - - // Make sure leading/trailing whitespace is removed (IE can't handle it) - data = jQuery.trim( data ); - - if ( data ) { - // Make sure the incoming data is actual JSON - // Logic borrowed from http://json.org/json2.js - if ( rvalidchars.test( data.replace( rvalidescape, "@" ) - .replace( rvalidtokens, "]" ) - .replace( rvalidbraces, "")) ) { - - return ( new Function( "return " + data ) )(); - } - } - } - - jQuery.error( "Invalid JSON: " + data ); + return window.JSON.parse( data ); }, // Cross-browser xml parsing