JavaScript序列化对象
代码
function serialize(obj) {
var returnVal;
if (obj != undefined) {
switch (obj.constructor) {
case Array:
var vArr = "[";
for (var i = 0; i < obj.length; i++)
{
if (i > 0) vArr += ",";
vArr += serialize(obj[i]);
}
vArr += "]"
return vArr;
case String:
returnVal = escape("'" + obj + "'");
return returnVal;
case Number:
returnVal = isFinite(obj) ? obj.toString() :
null;
return returnVal;
case Date: returnVal = "#" + obj + "#";
return returnVal;
default:
if (typeof obj == "object")
{
var vobj = []; for (attr in obj)
{
if (typeof obj[attr] != "function")
{
vobj.push('"' + attr + '":' + serialize(obj[attr]));
}
}
if (vobj.length > 0)
return "{" + vobj.join(",") + "}";
else return "{}";
}
else
{
return obj.toString();
}
}
}
return null;
}
var returnVal;
if (obj != undefined) {
switch (obj.constructor) {
case Array:
var vArr = "[";
for (var i = 0; i < obj.length; i++)
{
if (i > 0) vArr += ",";
vArr += serialize(obj[i]);
}
vArr += "]"
return vArr;
case String:
returnVal = escape("'" + obj + "'");
return returnVal;
case Number:
returnVal = isFinite(obj) ? obj.toString() :
null;
return returnVal;
case Date: returnVal = "#" + obj + "#";
return returnVal;
default:
if (typeof obj == "object")
{
var vobj = []; for (attr in obj)
{
if (typeof obj[attr] != "function")
{
vobj.push('"' + attr + '":' + serialize(obj[attr]));
}
}
if (vobj.length > 0)
return "{" + vobj.join(",") + "}";
else return "{}";
}
else
{
return obj.toString();
}
}
}
return null;
}
(全文完)
以下为广告部分
您部署的HTTPS网站安全吗?
如果您想看下您的网站HTTPS部署的是否安全,花1分钟时间来 myssl.com 检测以下吧。让您的HTTPS网站变得更安全!
快速了解HTTPS网站安全情况。
安全评级(A+、A、A-...)、行业合规检测、证书信息查看、证书链信息以及补完、服务器套件信息、证书兼容性检测等。
安装部署SSL证书变得更方便。
SSL证书内容查看、SSL证书格式转换、CSR在线生成、SSL私钥加解密、CAA检测等。
让服务器远离SSL证书漏洞侵扰
TLS ROBOT漏洞检测、心血漏洞检测、FREAK Attack漏洞检测、SSL Poodle漏洞检测、CCS注入漏洞检测。
作者:朱祁林
出处:http://zhuqil.cnblogs.com
本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。