JS JSON对象转为字符串的简单实现方法


  本文标签:JS,JSON,字符串

由于ie6,7不支持JSON.stringify(json),  我们只好自己再写一个函数来替换这个方法. 代码如下:

复制代码 代码如下:

function JsonToStr(o) {
var arr = [];
var fmt = function(s) {
if (typeof s == object && s != null) return JsonToStr(s);
return /^(string|number)$/.test(typeof s) ? "" + s + "" : s;
}
for (var i in o) arr.push("" + i + ":" + fmt(o[i]));
return { + arr.join(,) + };
}

另外: 如果不想json中的数字也被字符串化.  可以改造:

return /^(string|number)$/.test(typeof s) ? " + s + " : s;

为 : return /^(string)$/.test(typeof s) ? " + s + " : s;

(其实就是把number类型的忽略掉而已)