js中序列化和反序列化对象的方法是什么?
网友回复
var a = { "title": 'good', "name": "ddd", "age": 16 }; //序列化对象 console.log(JSON.stringify(a)); //反序列化对象 var newa = JSON.parse(JSON.stringify(a)); console.log(newa);
<script> function serialize(obj, name) { var result = ""; function serializeInternal(o, path) { for (p in o) { var value = o[p]; if (typeof value != "object") { if (typeof value == "string") { result += "\n" + path + "[" + (isNaN(p)?"\""+p+"\"": p) + "] = " + "\"" + value.replace(/\"/g, "\\\"") + "\""+";"; } else { result += "\n" + path + "[" + (isNaN(p)?"\""+p+"\"": p) + "] = " + value+";"; } } else { if (value instanceof Array) { result += "\n" + path +"[" + (isNaN(p)?"\""+p+"\"": p) + "]"+"="+"new Array();"; serializeInternal(value, path + "[" + (isNaN(p)?"\""+p+"\"": p) + "]"); } else { result += "\n" + path + "[" + (isNaN(p)?"\""+p+"\"": p) + "]"+"="+"new Object();"; serializeInternal(value, path +"[" + (isNaN(p)?"\""+p+"\"": p) + "]"); } } } } serializeInternal(obj, name); return result; } function A() { this.name = "A"; this.arr = new Array(); this.put = function(para) { this.arr[this.arr.length] = para; } } function B() { this.name = "B"; this.show = ""; } var a = new A(); var b = new B(); b.show = function() { alert("function 1"); } var b2 = new B(); b2.show = function() { alert("function 2"); } a.put(b); a.put(b2); //序列化 console.log(serialize(a, "a")); //反序列化 var deserialization_lang = serialize(a, "a"); //deserialization_lang生成的语句 var a = new Object(); eval(deserialization_lang); a.arr[0].show(); //成功的弹出function 1 </script>
uniapp开发的app或小程序如何将视频投屏?
如何在安卓虚拟机上安装使用chatgpt官方app?
微信小程序如何计入PayPal支付收款?
海外国际版微信小程序如何注册开发上架并开通海外支付收款?
uniapp怎么实现修改默认picker的选中颜色和确认按钮颜色样式?
uniapp怎么实现自定义nav导航条向上滚动导航条背景变色?
js如何生成随机用户昵称?
如何解决python print输出不显示缓冲问题?
python-docx创建Word文档报错ValueError: All strings must be XML compatible: Unicode or ASCII, no NULL bytes
python如何实时监控指定目录的文件增删改操作记录?