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;E
json数据转化为JS对象:
varjsonString={....}/[....];
eval("varobj="+jsonString);
alert(obj);
写道
functionevalJSON(json){
varobj=null;
try{
obj=eval("("+json+")");
}catch(E){}
returnobj;
}