【www.gdgbn.com--js教程】

 

function arraytojson(o) {
var r = [];
if (typeof o == "string") return """ + o.replace(/([""])/g, "$1").replace(/(n)/g, " ").replace(/(r)/g, " ").replace(/(t)/g, " ") + """;
if (typeof o == "object") {
if (!o.sort) {
for (var i in o)
r.push(i + ":" + arraytojson(o[i]));
if (!!document.all && !/^n?functions*tostring()s*{n?s*[native code]n?s*}n?s*$/.test(o.tostring)) {
r.push("tostring:" + o.tostring.tostring());
}
r = "{" + r.join() + "}";
} else {
for (var i = 0; i < o.length; i++) {
r.push(arraytojson(o[i]));
}
r = "[" + r.join() + "]";
}
return r;
}
return o.tostring();
}

方法二

array、string、number、boolean、undefined类型,其中array的子元素也必须遵循该规则,如果数组或者字数组里面包含有function和object或其他类型将被过滤掉:

array.prototype.tojson = function(arr)
{
arr = arr||this;
if(arr && arr.constructor===array)
{
for(var i=0; i {
if(typeof(arr[i])==="string")
{
arr[i] = (i==0?"["":""") + arr[i] + (i==(arr.length-1)?""]":"",");
}

else if(typeof(arr[i])==="undefined")
{
arr[i] = (i==0?"[":"") + (i==(arr.length-1)?"]":",");
}

else if(typeof(arr[i])==="number"||typeof(arr[i])==="boolean")
{
arr[i] = (i==0?"[":"") + arr[i] + (i==(arr.length-1)?"]":",");
}

else if(typeof(arr[i])==="object"&&arr[i].constructor===array)
{
arr[i] = (i==0?"[":"") + arr[i].tojson() + (i==(arr.length-1)?"]":",");
}

if(!arr[i])alert(typeof(arr[i]));
}
return arr.join("");
}else{return false;}
}

数组转换json三

<script language="网页特效"> </script>

本文来源:http://www.gdgbn.com/wangyezhizuo/27652/