?? json.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 + -