中国最全IT社区平台 联系我们 | 收藏本站
华晨云阿里云优惠2

json教程

  • 关于 JSON
  • JSON 教程

    json格式

    JSON解析

    JSON遍历

    JSON调用

    JSON转换

    JSON获取

    JSON字符串

    JSON数组

    用javascript对一个json数组深度赋值示例

    阅读 (2406)

    用javascript对一个json数组深度赋值示例:

    <!DOCTYPE HTML> 
    <html> 
    <head> 
    <title>test1</title> 
    </head> 
    <body> 
    <script> 
    var arr={ 
    "name":"zhansan", 
    "age":23, 
    "address":{ 
    "city":"beijing", 
    "gas":{ 
    "gasSheet":"气态流出物月报", 
    "H_adjust":1 
    }, 
    "time":{ 
    "duration":31 
    } 
    }, 
    "units":{"title":"function"} 
    } 
    function show(obj){ 
    var tmp={}; 
    for(var i in obj){ 
    if(obj[i]=="object"){ 
    <span style="color:#ff0000;">tmp[i]=show(obj[i]);</span> 
    } 
    else{ 
    <span style="color:#ff0000;">tmp[i]=obj[i]</span> 
    } 
    } 
    return tmp; 
    } 
    
    var result=show(arr); 
    console.log(result);
    </script> 
    </body> 
    </html>
    

    </pre><p></p><p>利用递归思想,其中注意赋值语句</p><p>可用于不同的环境</p><p></p><pre>
    


    如何将一个jSON对象赋值给一个jSON数组

    假设其中jSON对象是var kpis = {"A": [1,2,3,4,5],"B": [ 2,3,4,5,6]},  jSON 数组是var series =  [{name:null,data:null},  {name:null,data:null}]

    >>>第一种方法:

    [javascript] view plain copy
    var index=0;  
    for( var tests in kpis){   
         series[index].name=tests;   
         series[index].data=kpis[tests];  
    }  
    
    点评:第一种方法对于超过两个名称/值对的情况不适用,只能手动增加jSON数组的长度,比较麻烦。经过boss的指导,有了第二种方法。

    >>>第二种方法:

    [html] view plain copy
    series=[];  
    for(var tests in kpis){  
         //定义一个新的jSON对象,改变成jSON数组中jSON数据的格式  
         var json = {name:tests, data:kpis[tests]};  
         //通过数组的push()方法向数组中增加jSON数据  
         series.push(json);  
    }  
    
    点评:第二种方法,在遍历kpis这个jSON对象的时候,生成新的格式的jSON对象,不断push到数组中,这样就达到了目的,而且即使是有名称/值对也不怕,通用性增强。
    所以推荐第二种方法。

    关闭
    程序员人生