• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    公众号

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

原作者: [db:作者] 来自: [db:来源] 收藏 邀请

用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到数组中,这样就达到了目的,而且即使是有名称/值对也不怕,通用性增强。

所以推荐第二种方法。


鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
热门推荐
热门话题
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap