Ось витяг з jQuery 1.9.1 :
parseJSON: function( data ) {
if ( window.JSON && window.JSON.parse ) {
return window.JSON.parse( data );
}
if ( data === null ) {
return data;
}
if ( typeof data === "string" ) {
data = jQuery.trim( data );
if ( data ) {
if ( rvalidchars.test( data.replace( rvalidescape, "@" )
.replace( rvalidtokens, "]" )
.replace( rvalidbraces, "")) ) {
return ( new Function( "return " + data ) )();
}
}
}
jQuery.error( "Invalid JSON: " + data );
},
Як бачите, jQuery використовуватиме власний JSON.parseметод, якщо він доступний, і в іншому випадку він намагатиметься оцінити дані за допомогою new Function, що приблизно нагадує eval.
Так що так, вам неодмінно слід скористатися jQuery.parseJSON.