复制代码 代码如下:
/*
将json对象转换为字符串
使用方法:
var json = {id=3,name="abc"};
var str = tools.j2s(json);
*/
tools.j2s = function(O) {
var S = [];
var J = "";
if (Object.prototype.toString.apply(O) === "[object Array]") {
for ( var i = 0; i < O.length; i++) {
S.push(this.j2s(O[i]));
}
J = "[" + S.join(",") + "]";
} else if (Object.prototype.toString.apply(O) === "[object Date]") {
J = "new Date(" + O.getTime() + ")";
} else if (Object.prototype.toString.apply(O) === "[object RegExp]" || Object.prototype.toString.apply(O) === "[object Function]") {
J = O.toString();
} else if (Object.prototype.toString.apply(O) === "[object Object]") {
for ( var i in O) {
var tempObj = "";
if(typeof (O[i]) == "string") {
tempObj = """ + O[i] + """;
} else if(typeof (O[i]) === "object") {
tempObj = this.j2s(O[i]);
} else {
tempObj = O[i];
}
S.push(""" + i + "":" + tempObj);
}
J = "{" + S.join(",") + "}";
} else if (Object.prototype.toString.apply(O) === "[object String]") {
J = """ + O + """;
} else {
J = O;
}
return J;
};
//json字符串转换为json对象
tools.s2j = function(jsonString) {
if(jsonString == null || jsonString == "" ) {
jsonString = "{}";
}
return eval("("+jsonString+")");
};
//JSON字符串到Object
tools.json2Obj = function(_json) {
if (_json == "") {
//alert("函数初始化失败!");
return "";
}
return eval("({root:"+_json+"})");
};