jQuery は、以下を使用JSON.parse()
して JSON 文字列をオブジェクトに変換するときに、クロスブラウザー ソリューションに使用しますjQuery.parseJSON()
。
parseJSON: function( data ) {
if ( !data || typeof data !== "string") {
return null;
}
// Make sure leading/trailing whitespace is removed (IE can't handle it)
data = jQuery.trim( data );
// Attempt to parse using the native JSON parser first
if ( window.JSON && window.JSON.parse ) {
return window.JSON.parse( 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 );
}
しかし、を使用してオブジェクトを JSON に変換するための同様のソリューションがないのはなぜJSON.stringify
でしょうか? JSON.stringify
たとえば、json2.jsを含めない限り、IE7 では機能しません。それはjQuerysロードマップにあるものですか?