我是靠谱客的博主 香蕉大门,这篇文章主要介绍JS对象序列化成json数据和json数据转化为JS对象的代码,现在分享给大家,希望可以做个参考。

JS对象序列化成json数据:

复制代码
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
42
function Serialize(obj){ switch(obj.constructor){ case Object: var str = "{"; for(var o in obj){ str += o + ":" + Serialize(obj[o]) +","; } if(str.substr(str.length-1) == ",") str = str.substr(0,str.length -1); return str + "}"; break; case Array: var str = "["; for(var o in obj){ str += Serialize(obj[o]) +","; } if(str.substr(str.length-1) == ",") str = str.substr(0,str.length -1); return str + "]"; break; case Boolean: return """ + obj.toString() + """; break; case Date: return """ + obj.toString() + """; break; case Function: break; case Number: return """ + obj.toString() + """; break; case String: return """ + obj.toString() + """; break; } } var staff_list_obj ={}; var staff_id = 1001; staff_list_obj[staff_id] = {}; staff_list_obj[staff_id]["姓名"] = '111'; staff_list_obj[staff_id]["测试"] = '222'; alert(Serialize(staff_list_obj));

JS对象序列化为JSON对象的方法二

复制代码
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
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
var $ = $ || {}; /** * 将JS对象序列化为JSON字符串 * @param {Mixed} o The variable to decode * @return {String} The JSON string * String json = $.encode(o); */ $.encode = (function() { if ( typeof(JSON)!=='undefined' && typeof(JSON.stringify)!=='undefined') { return JSON.stringify; } var I = !!{}.hasOwnProperty, _ = function(I) { return I < 10 ? "0" + I : I; }, A = { "b" : "\b", "t" : "\t", "n" : "\n", "f" : "\f", "r" : "\r", """ : "\"", "\" : "\\" }; return (function(C) { if (typeof C == "undefined" || C === null) { return "null"; } else { if (Object.prototype.toString.call(C) === "[object Array]") { var B = ["["], G, E, D = C.length, F; for (E = 0; E < D; E += 1) { F = C[E]; switch (typeof F) { case "undefined" : case "function" : case "unknown" : break; default : if (G) { B.push(","); } B.push(F === null ? "null" : $.encode(F)); G = true; } } B.push("]"); return B.join(""); } else { if ((Object.prototype.toString.call(C) === "[object Date]")) { return """ + C.getFullYear() + "-" + _(C.getMonth() + 1) + "-" + _(C.getDate()) + "T" + _(C.getHours()) + ":" + _(C.getMinutes()) + ":" + _(C.getSeconds()) + """; } else { if (typeof C == "string") { return """ + C.replace(/([x00-x1f\"])/g, function(B, _) { var I = A[_]; if (I) { return I; } return ''; }).replace(/[^u0000-u00FF]/g, function($0) { return escape($0).replace(/(%u)(w{4})/gi, "\u$2") }) + """; } else { if (typeof C == "number") { return isFinite(C) ? String(C) : "null"; } else { if (typeof C == "boolean") { return String(C); } else { B = ["{"], G, E, F; for (E in C) { if (!I || C.hasOwnProperty(E)) { F = C[E]; if (F === null) { continue; } switch (typeof F) { case "undefined" : case "function" : case "unknown" : break; default : if (G) { B.push(","); } B.push($.encode(E), ":", $.encode(F)); G = true; } } } B.push("}"); return B.join(""); } } } } } } }); })();

json数据转化为JS对象:

复制代码
1
2
3
var jsonString={....}/[....]; eval("var obj="+jsonString); alert(obj);

写道

复制代码
1
2
3
4
5
6
7
8
function evalJSON(json){ var obj = null; try { obj = eval("(" + json + ")"); } catch(E){} return obj ; }

最后

以上就是香蕉大门最近收集整理的关于JS对象序列化成json数据和json数据转化为JS对象的代码的全部内容,更多相关JS对象序列化成json数据和json数据转化为JS对象内容请搜索靠谱客的其他文章。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(296)

评论列表共有 0 条评论

立即
投稿
返回
顶部