3

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ロードマップにあるものですか?

4

1 に答える 1

3

jQuery は内部的にそれを必要としないため、同様の解決策はありません。それに関する現在のスタンスは、コアがそれを必要とせず、一般に受け入れられている方法(json2.js を含む、またはすべての最新のブラウザーに組み込まれているものを使用) を使用して実装できる場合、コアにある必要はありません。

参考までに、https://forum.jquery.com/topic/jquery-encodejson

于 2012-10-02T18:48:15.107 に答える