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相互转换的简单实现的全部内容了,希望对大家有所帮助,多多支持毛票票~