Ser*_*rov 7 javascript json overriding default stringify
我发现,如果您.toJSON()为对象定义函数,那么它将用于字符串化对象,而不是默认值。有没有办法忽略这个覆盖的函数并运行默认的 stringify 进程?
重新定义toJSON指定对象中的方法。例如:
function kryptonite(key)\r\n {\r\n var replacement = {};\r\n for(var __ in this)\r\n {\r\n if(__ in alias)\r\n replacement[__] = this[__]\r\n }\r\n \r\n return replacement;\r\n }\r\n \r\n var foo, bar;\r\n var alias = {"Clark":"","phone":""};\r\n var contact = {\r\n "Clark":"Kent",\r\n "Kal El":"Superman",\r\n "phone":"555-7777"\r\n }\r\n \r\n contact.toJSON = kryptonite;\r\n\r\n foo = JSON.stringify(contact);\r\n\r\n contact.toJSON = undefined;\r\n \r\n bar = JSON.stringify(contact);\r\n\r\n console.log("foo: ", foo);\r\n console.log("bar: ", bar);Run Code Online (Sandbox Code Playgroud)\r\n参考
\n\n\n| 归档时间: |
|
| 查看次数: |
1844 次 |
| 最近记录: |