js 原生转json 可以v8中运行

//           load("D:/jsontest.js");
function test1(vvv)
{
     
    print(vvv);
}
 
//把json str  转 json obj
function strToObj(json){
     return eval("("+json+")");
}
 
//把json obj 转 str
function obj2str(obj){
  var arr = [];
  
  if( obj == null) {
   return """";
  }
  
  if(typeof obj == "string") {
   return """+obj+""";
  }
  
  if(typeof obj == "object"){
   if(!obj.sort){
    arr[0]="{"
    for(var i in obj){
     arr[arr.length]="""+i+""";
     arr[arr.length]=":";
     arr[arr.length]=obj2str(obj[i]);
     arr[arr.length]=",";
    }
    arr[arr.length-1]="}"
   }else{
    arr[0]="["
    for(var i =0;i<obj.length;i++){
     arr[arr.length]=obj2str(obj[i]);
     arr[arr.length]=",";
    }
    arr[arr.length-1]="]"
   }
   return arr.join("");
  }//if(typeof obj == "object")

  return  obj.toString(); 
}

try{
     
    var jsonstr="{"aa": "111"}";
    var obj =strToObj(jsonstr);
    print ("strToObj 1",obj.aa);
    print ("strToObj 2",obj);
     
     obj.columnwidth=[10, 150, 400, 150, 80, 200, 200, 80, 80];
     obj.title="xxtilfsdf";
     var jsonb={};
     jsonb.value=1;
     jsonb.xxx="";
     jsonb.aaa="fdsfas";
     
      obj.levelcolor=jsonb;
    var strxxx=obj2str(obj);
    print ("obj2str",strxxx);
    
    
    var jsonobjobj=strToObj(strxxx);
    
    print (jsonobjobj.title);
    print (jsonobjobj.levelcolor);


    
    var option=
{
    titles: ["cc", "jj", "12", "fa", "ff", "bb", "aadfs", "ssss", "234234"],
    column ["100", 150, 400, 150, 80, 200, 200, 80, 80],
    counts: 50,
    freshtime: 10,
    levelcolor: ["#045ACF","#e0e041","#FF9900","#FF0000"]
};
//setoption(option);
 
 
    var aaa=1;
 
print(option.levelcolor);
option.titles.push("aaaaaaaaaa");
option.ccc=2;
 
var strxxxoption=obj2str(option);
    print ("strxxxoption,",strxxxoption);
     
 
}catch(error)
{
    print("error,");
    print(error);
}
原文地址:https://www.cnblogs.com/bleachli/p/9318792.html