JS对象序列化成json数据:
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对象的方法二
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) "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对象:
var jsonString={....}/[....]; eval("var obj="+jsonString); alert(obj);
写道
function evalJSON(json){ var obj = null; try { obj = eval("(" + json + ")"); } catch(E){} return obj ; }
标签:
JS,对象序列化,json
免责声明:本站文章均来自网站采集或用户投稿,网站不提供任何软件下载或自行开发的软件!
如有用户或公司发现本站内容信息存在侵权行为,请邮件告知! 858582#qq.com
暂无“JS对象序列化成json数据和json数据转化为JS对象的代码”评论...
稳了!魔兽国服回归的3条重磅消息!官宣时间再确认!
昨天有一位朋友在大神群里分享,自己亚服账号被封号之后居然弹出了国服的封号信息对话框。
这里面让他访问的是一个国服的战网网址,com.cn和后面的zh都非常明白地表明这就是国服战网。
而他在复制这个网址并且进行登录之后,确实是网易的网址,也就是我们熟悉的停服之后国服发布的暴雪游戏产品运营到期开放退款的说明。这是一件比较奇怪的事情,因为以前都没有出现这样的情况,现在突然提示跳转到国服战网的网址,是不是说明了简体中文客户端已经开始进行更新了呢?
更新动态
2025年01月14日
2025年01月14日
- 小骆驼-《草原狼2(蓝光CD)》[原抓WAV+CUE]
- 群星《欢迎来到我身边 电影原声专辑》[320K/MP3][105.02MB]
- 群星《欢迎来到我身边 电影原声专辑》[FLAC/分轨][480.9MB]
- 雷婷《梦里蓝天HQⅡ》 2023头版限量编号低速原抓[WAV+CUE][463M]
- 群星《2024好听新歌42》AI调整音效【WAV分轨】
- 王思雨-《思念陪着鸿雁飞》WAV
- 王思雨《喜马拉雅HQ》头版限量编号[WAV+CUE]
- 李健《无时无刻》[WAV+CUE][590M]
- 陈奕迅《酝酿》[WAV分轨][502M]
- 卓依婷《化蝶》2CD[WAV+CUE][1.1G]
- 群星《吉他王(黑胶CD)》[WAV+CUE]
- 齐秦《穿乐(穿越)》[WAV+CUE]
- 发烧珍品《数位CD音响测试-动向效果(九)》【WAV+CUE】
- 邝美云《邝美云精装歌集》[DSF][1.6G]
- 吕方《爱一回伤一回》[WAV+CUE][454M]