zoukankan      html  css  js  c++  java
  • 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);
    }
  • 相关阅读:
    Dubbo——服务目录
    Dubbo——服务调用过程
    Dubbo——服务引用
    Dubbo——服务发布原理
    Dubbo——SPI及自适应扩展原理
    Zookeeper——Watcher原理详解
    Zookeeper——基本使用以及应用场景(手写实现分布式锁和rpc框架)
    Zookeeper——分布式一致性协议及Zookeeper Leader选举原理
    分布式架构概述及设计
    设计之禅——访问者模式
  • 原文地址:https://www.cnblogs.com/bleachli/p/9318792.html
Copyright © 2011-2022 走看看