Javascript json object 与string 相互转换的简单实现
Javascriptjsonobject与string相互转换的简单实现
functionobj2str(o){ varr=[]; if(typeofo=="string"||o==null){ returno; } if(typeofo=="object"){ if(!o.sort){ r[0]="{" for(variino){ r[r.length]=i; r[r.length]=":"; r[r.length]=obj2str(o[i]); r[r.length]=","; } r[r.length-1]="}" }else{ r[0]="[" for(vari=0;i<o.length;i++){ r[r.length]=obj2str(o[i]); r[r.length]=","; } r[r.length-1]="]" } returnr.join(""); } returno.toString(); }
string转object
functiontaoRan(){ varstr='{"result":[["提现","219"],["提现银行","121"],["退款","272"],["提现失败","16"],["团购","15"],["淘宝","412"],["台湾","58"],["提现限额","16"],["提现时间","81"],["台湾认证","26"]]}'; alert(strToObj(str).result[2]); } functionstrToObj(json){ returneval("("+json+")"); }
非常好用的JsonToString方法
//' Jsontostring代码 functionJsonToString(o){ vararr=[]; varfmt=function(s){ if(typeofs=='object'&&s!=null)returnJsonToStr(s); return/^(string|number)$/.test(typeofs)?"'"+s+"'":s; } for(variino) arr.push("'"+i+"':"+fmt(o[i])); return'{'+arr.join(',')+'}'; }
我反正用的很爽,哈哈
另外:如果不想json中的数字也被字符串化.可以改造:return/^(string|number)$/.test(typeofs)?'"'+s+'"':s;为:return/^(string)$/.test(typeofs)?'"'+s+'"':s;(其实就是把number类型的忽略掉而已)
functionO2String(O){ //returnJSON.stringify(jsonobj); varS=[]; varJ=""; if(Object.prototype.toString.apply(O)==='[objectArray]'){ for(vari=0;i<O.length;i++) S.push(O2String(O[i])); J='['+S.join(',')+']'; } elseif(Object.prototype.toString.apply(O)==='[objectDate]'){ J="newDate("+O.getTime()+")"; } elseif(Object.prototype.toString.apply(O)==='[objectRegExp]'||Object.prototype.toString.apply(O)==='[objectFunction]'){ J=O.toString(); } elseif(Object.prototype.toString.apply(O)==='[objectObject]'){ for(variinO){ O[i]=typeof(O[i])=='string'?'"'+O[i]+'"':(typeof(O[i])==='object'?O2String(O[i]):O[i]); S.push('"'+i+'":'+O[i]); } J='{'+S.join(',')+'}'; } returnJ; };
JSON.stringify(jsonobj)
JSON.stringify(jsonobj),本来是最简便的方法,可是存在浏览器兼容问题(仅适用于IE8+,Chrome1+,FF3+)
以上就是小编为大家带来的Javascriptjsonobject与string相互转换的简单实现的全部内容了,希望对大家有所帮助,多多支持毛票票~