⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 json.js.svn-base

📁 一个使用ssh+ext的例子。 希望对开发这个应用的人带来好处。仔细研究里面的代码将带来很大的好处。
💻 SVN-BASE
字号:
/*
 * Ext JS Library 2.1
 * Copyright(c) 2006-2008, Ext JS, LLC.
 * licensing@extjs.com
 * 
 * http://extjs.com/license
 */

/** * @class Ext.util.JSON * Modified version of Douglas Crockford"s json.js that doesn"t * mess with the Object prototype * http://www.json.org/js.html * @singleton */Ext.util.JSON = new (function(){    var useHasOwn = !!{}.hasOwnProperty;    // crashes Safari in some instances    //var validRE = /^("(\\.|[^"\\\n\r])*?"|[,:{}\[\]0-9.\-+Eaeflnr-u \n\r\t])+?$/;    var pad = function(n) {        return n < 10 ? "0" + n : n;    };    var m = {        "\b": '\\b',        "\t": '\\t',        "\n": '\\n',        "\f": '\\f',        "\r": '\\r',        '"' : '\\"',        "\\": '\\\\'    };    var encodeString = function(s){        if (/["\\\x00-\x1f]/.test(s)) {            return '"' + s.replace(/([\x00-\x1f\\"])/g, function(a, b) {                var c = m[b];                if(c){                    return c;                }                c = b.charCodeAt();                return "\\u00" +                    Math.floor(c / 16).toString(16) +                    (c % 16).toString(16);            }) + '"';        }        return '"' + s + '"';    };    var encodeArray = function(o){        var a = ["["], b, i, l = o.length, v;            for (i = 0; i < l; i += 1) {                v = o[i];                switch (typeof v) {                    case "undefined":                    case "function":                    case "unknown":                        break;                    default:                        if (b) {                            a.push(',');                        }                        a.push(v === null ? "null" : Ext.util.JSON.encode(v));                        b = true;                }            }            a.push("]");            return a.join("");    };    this.encodeDate = function(o){        return '"' + o.getFullYear() + "-" +                pad(o.getMonth() + 1) + "-" +                pad(o.getDate()) + "T" +                pad(o.getHours()) + ":" +                pad(o.getMinutes()) + ":" +                pad(o.getSeconds()) + '"';    };    /**     * Encodes an Object, Array or other value     * @param {Mixed} o The variable to encode     * @return {String} The JSON string     */    this.encode = function(o){        if(typeof o == "undefined" || o === null){            return "null";        }else if(Ext.isArray(o)){            return encodeArray(o);        }else if(Ext.isDate(o)){            return Ext.util.JSON.encodeDate(o);        }else if(typeof o == "string"){            return encodeString(o);        }else if(typeof o == "number"){            return isFinite(o) ? String(o) : "null";        }else if(typeof o == "boolean"){            return String(o);        }else {            var a = ["{"], b, i, v;            for (i in o) {                if(!useHasOwn || o.hasOwnProperty(i)) {                    v = o[i];                    switch (typeof v) {                    case "undefined":                    case "function":                    case "unknown":                        break;                    default:                        if(b){                            a.push(',');                        }                        a.push(this.encode(i), ":",                                v === null ? "null" : this.encode(v));                        b = true;                    }                }            }            a.push("}");            return a.join("");        }    };    /**     * Decodes (parses) a JSON string to an object. If the JSON is invalid, this function throws a SyntaxError.     * @param {String} json The JSON string     * @return {Object} The resulting object     */    this.decode = function(json){        return eval("(" + json + ')');    };})();/** * Shorthand for {@link Ext.util.JSON#encode} * @param {Mixed} o The variable to encode * @return {String} The JSON string * @member Ext * @method encode */Ext.encode = Ext.util.JSON.encode;/** * Shorthand for {@link Ext.util.JSON#decode} * @param {String} json The JSON string * @return {Object} The resulting object * @member Ext * @method decode */Ext.decode = Ext.util.JSON.decode;

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -