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

📄 json.js

📁 JS编译工具
💻 JS
字号:
/*
 * @author 金大为
 * @from JSON.org(http://www.json.org/)
 * @version $Id: event-util.js,v 1.5 2008/02/25 01:55:59 jindw Exp $
 */

/**
 * @public
 * @param data
 * @return JSON
 */
var JSON = {
    /**
     * 解析JSON文本
     * @public 解析
     * @owner JSON
     */
    decode : function(data){
        return window.eval("("+data+")")
    },
    /**
     * 以JSON格式,系列化javascript对象
     * @public
     * @owner JSON
     * @param <Object> value
     * @return <String> json 表达式
     */
    encode : serialize
}
/**
 * IE 好像容易出问题,可能是线程不安全导致。
 * @internal
 */
var stringRegexp = /["\\\x00-\x1f\x7f-\x9f]/g;
/**
 * 转义替换字符
 * @internal
 */
var charMap = {
    '\b': '\\b',
    '\t': '\\t',
    '\n': '\\n',
    '\f': '\\f',
    '\r': '\\r',
    '"' : '\\"',
    '\\': '\\\\'
};
/**
 * 转义替换函数
 * @internal
 */
function charReplacer(item) {
    var c = charMap[item];
    if (c) {
        return c;
    }
    c = item.charCodeAt().toString(16);
    return '\\u00' + (c.length>1?c:'0'+c);
}
/**
 * JSON 串行化实现
 * @internal
 */
function serialize(value) {
    switch (typeof value) {
        case 'string':
            stringRegexp.lastIndex = 0;
            return '"' + (stringRegexp.test(value) ?
                            value.replace(stringRegexp,charReplacer) :
                            value)
                       + '"';
        case 'object':
            if (!value) {
                return 'null';
            }
            var buf = [];
            if (value instanceof Array) {
                var i = value.length;
                while (i--) {
                    buf[i] = serialize(value[i]) || 'null';
                }
                return '[' + buf.join(',') + ']';
            }
            for (var k in value) {
                var v = serialize(value[k]);
                if (v) {
                    buf.push(serialize(k) + ':' + v);
                }
            }
            return '{' + buf.join(',') + '}';
        case 'number':
            if(!isFinite(value)){
                value = 'null';
            }
        default:
            return String(value);
    }
}

⌨️ 快捷键说明

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