如何判断正在使用哪个JSON对象(Crockford或其他)?

Jon*_*n M 6 javascript json version

我正在使用Crockfordjson2.js.当我想要字符串化时,我确实JSON.stringify()...效果很好.

但是,那些看过代码的人知道它遵循现有的JSON对象和属性.我怀疑我遇到的某个问题可能是由于这种尊重.

是否有JSON对象的属性,我可以检查浏览器是否使用Crockford的对象,或其他一些?能够做类似的事情会很高兴alert(JSON.version());

Dav*_*edy 3

在加载 Crockford 的脚本之前,您可以像他一样检查全局 JSON 对象:

<script>
    var JSON,
        nativeJSON = true;

    if (!JSON) {
        var nativeJSON = false;
        document.write('<script src="js/json2.js"><\/script>');
    }

    if (!nativeJSON) {
        // All JSON objects are using Crockford's implementation
    } else {
        // All JSON objects from here on out are NOT using Crockford's implementation
    }
</script>
Run Code Online (Sandbox Code Playgroud)