jquery.json.js
774 Bytes
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
jQuery.extend({
/**
* js对象转为json字符串
* @param str
* @returns
*/
toJSON : function(o) {
var r = [], i = null, j = 0, len;
if (o == null) {
return o;
}
if (typeof o == 'string') {
return '"' + o + '"';
}
if (typeof o == 'object') {
if (!o.sort) {
r[j++] = '{';
for (i in o) {
r[j++] = '"';
r[j++] = i;
r[j++] = '":';
r[j++] = $.toJSON(o[i]);
r[j++] = ',';
}
// 可能的空对象
// r[r[j-1] == '{' ? j:j-1]='}';
r[j - 1] = '}';
} else {
r[j++] = '[';
for (i = 0, len = o.length; i < len; ++i) {
r[j++] = $.toJSON(o[i]);
r[j++] = ',';
}
// 可能的空数组
r[len == 0 ? j : j - 1] = ']';
}
return r.join('');
}
return o.toString();
}
});