JS对象序列化成json数据和json数据转化为JS对象的代码
JS对象序列化成json数据:
functionSerialize(obj){ switch(obj.constructor){ caseObject: varstr="{"; for(varoinobj){ str+=o+":"+Serialize(obj[o])+","; } if(str.substr(str.length-1)==",") str=str.substr(0,str.length-1); returnstr+"}"; break; caseArray: varstr="["; for(varoinobj){ str+=Serialize(obj[o])+","; } if(str.substr(str.length-1)==",") str=str.substr(0,str.length-1); returnstr+"]"; break; caseBoolean: return"\""+obj.toString()+"\""; break; caseDate: return"\""+obj.toString()+"\""; break; caseFunction: break; caseNumber: return"\""+obj.toString()+"\""; break; caseString: return"\""+obj.toString()+"\""; break; } } varstaff_list_obj={}; varstaff_id=1001; staff_list_obj[staff_id]={}; staff_list_obj[staff_id]["姓名"]='111'; staff_list_obj[staff_id]["测试"]='222'; alert(Serialize(staff_list_obj));
JS对象序列化为JSON对象的方法二
var$=$||{}; /** *将JS对象序列化为JSON字符串 *@param{Mixed}oThevariabletodecode *@return{String}TheJSONstring *Stringjson=$.encode(o); */ $.encode=(function(){ if(typeof(JSON)!=='undefined'&&typeof(JSON.stringify)!=='undefined'){ returnJSON.stringify; } varI=!!{}.hasOwnProperty,_=function(I){ returnI<10?"0"+I:I; },A={ "\b":"\\b", "\t":"\\t", "\n":"\\n", "\f":"\\f", "\r":"\\r", "\"":"\\\"", "\\":"\\\\" }; return(function(C){ if(typeofC=="undefined"||C===null){ return"null"; }else{ if(Object.prototype.toString.call(C)==="[objectArray]"){ varB=["["],G,E,D=C.length,F; for(E=0;Ejson数据转化为JS对象:
varjsonString={....}/[....]; eval("varobj="+jsonString); alert(obj);写道
functionevalJSON(json){ varobj=null; try{ obj=eval("("+json+")"); }catch(E){} returnobj; }