callback是一个回调函数,实现赋值功能! json,意思就是javascript object notation,也就是用javascript平常表示object的方式来描述对象。 服务器端语言中,一般都有专门的parser来读取数据,以及作类型转换。 简单的json数据可以直接eval,当数据中含有特殊字符的时候就需要用string.parseJSON()解析了 json已经提供了json.js供你使用json.js /* json.js 2006-04-28This file adds these methods to JavaScript:object.toJSONString()This method produces a JSON text from an object. The object must not contain any cyclical references.array.toJSONString()This method produces a JSON text from an array. The array must not contain any cyclical references.string.parseJSON()This method parses a JSON text to produce an object or array. It will return false if there is an error. */ (function () { var m = { '\b': '\\b', '\t': '\\t', '\n': '\\n', '\f': '\\f', '\r': '\\r', '"' : '\\"', '\\': '\\\\' }, s = { array: function (x) { var a = ['['], b, f, i, l = x.length, v; for (i = 0; i < l; i = 1) { v = x[i]; f = s[typeof v]; if (f) { v = f(v); if (typeof v == 'string') { if (b) { a[a.length] = ','; } a[a.length] = v; b = true; } } } a[a.length] = ']'; return a.join(''); }, 'boolean': function (x) { return String(x); }, 'null': function (x) { return "null"; }, number: function (x) { return isFinite(x) ? String(x) : 'null'; }, object: function (x) { if (x) { if (x instanceof Array) { return s.array(x); } var a = ['{'], b, f, i, v; for (i in x) { v = x[i]; f = s[typeof v]; if (f) { v = f(v); if (typeof v == 'string') { if (b) { a[a.length] = ','; } a.push(s.string(i), ':', v); b = true; } } } a[a.length] = '}'; return a.join(''); } return 'null'; }, string: function (x) { if (/["\\\x00-\x1f]/.test(x)) { x = x.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 '"' x '"'; } };Object.prototype.toJSONString = function () { return s.object(this); };Array.prototype.toJSONString = function () { return s.array(this); }; })();
json,意思就是javascript object notation,也就是用javascript平常表示object的方式来描述对象。
服务器端语言中,一般都有专门的parser来读取数据,以及作类型转换。
简单的json数据可以直接eval,当数据中含有特殊字符的时候就需要用string.parseJSON()解析了
json已经提供了json.js供你使用json.js
/*
json.js
2006-04-28This file adds these methods to JavaScript:object.toJSONString()This method produces a JSON text from an object. The
object must not contain any cyclical references.array.toJSONString()This method produces a JSON text from an array. The
array must not contain any cyclical references.string.parseJSON()This method parses a JSON text to produce an object or
array. It will return false if there is an error.
*/
(function () {
var m = {
'\b': '\\b',
'\t': '\\t',
'\n': '\\n',
'\f': '\\f',
'\r': '\\r',
'"' : '\\"',
'\\': '\\\\'
},
s = {
array: function (x) {
var a = ['['], b, f, i, l = x.length, v;
for (i = 0; i < l; i = 1) {
v = x[i];
f = s[typeof v];
if (f) {
v = f(v);
if (typeof v == 'string') {
if (b) {
a[a.length] = ',';
}
a[a.length] = v;
b = true;
}
}
}
a[a.length] = ']';
return a.join('');
},
'boolean': function (x) {
return String(x);
},
'null': function (x) {
return "null";
},
number: function (x) {
return isFinite(x) ? String(x) : 'null';
},
object: function (x) {
if (x) {
if (x instanceof Array) {
return s.array(x);
}
var a = ['{'], b, f, i, v;
for (i in x) {
v = x[i];
f = s[typeof v];
if (f) {
v = f(v);
if (typeof v == 'string') {
if (b) {
a[a.length] = ',';
}
a.push(s.string(i), ':', v);
b = true;
}
}
}
a[a.length] = '}';
return a.join('');
}
return 'null';
},
string: function (x) {
if (/["\\\x00-\x1f]/.test(x)) {
x = x.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 '"' x '"';
}
};Object.prototype.toJSONString = function () {
return s.object(this);
};Array.prototype.toJSONString = function () {
return s.array(this);
};
})();