Skip to content
Permalink
Browse files

2.0: Remove JSON.parse shim

Signed-off-by: Rick Waldron <waldron.rick@gmail.com>
  • Loading branch information
rwaldron committed Dec 17, 2012
1 parent 25d9339 commit bd9498c5ee91303f72bb44f09b4c6c28a33f1225
Showing with 1 addition and 33 deletions.
  1. +1 −33 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

0 comments on commit bd9498c

Please sign in to comment.
You can’t perform that action at this time.