实现javascript对象序列化
//序列化js对象pwup
function serialize_json(obj){ //write by pwup
var stack=[];
var type="com";
var obj_count=0;
var result=[];
stack.push(obj);
obj_count++;
while(obj_count!=0){
var obj=stack.pop();
obj_count--;
if(typeof(obj)!="object"){
result.push(String(obj));
continue;
}
if(obj.length!=undefined){
type="list";
stack.push("[");
}else{
type="object";
stack.push("{");
}
obj_count++;
var flag=false;
for(var i in obj){
flag=true;
var elem=obj[i];
var type_e=typeof(elem);
if(type=="list"){
if(type_e!="object"){
stack.push('"'+elem+'"');
obj_count++;
}else{
stack.push(elem);
obj_count++;
}
}else if(type=="object"){
if(typeof(elem)!="object"){
stack.push('"'+i+'":"'+elem+'"');
obj_count++;
}else{
stack.push('"'+i+'":');
stack.push(elem);
obj_count+=2;
}
}
stack.push(",")
obj_count++;
}
if(flag){//去除最后一个逗号
stack.pop();
obj_count--;
}
if(obj.length!=undefined){
stack.push("]");
}else{
stack.push("}");
}
obj_count++;
}
return result.reverse().join("");
}