用javascript对一个json数组深度赋值
编辑教程用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>
利用递归思想,其中注意赋值语句可用于不同的环境
如何将一个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到数组中,这样就达到了目的,而且即使是有名称/值对也不怕,通用性增强。
推荐方法二。
Mos固件,小电视必刷固件
ES6 教程
Vue.js 教程
JSON 教程
jQuery 教程
HTML 教程
HTML 5 教程
CSS 教程
CSS3 教程
JavaScript 教程
DHTML 教程
JSON在线格式化工具
JS在线运行
JSON解析格式化
jsfiddle中国国内版本
JS代码在线运行
PHP代码在线运行
Java代码在线运行
C语言代码在线运行
C++代码在线运行
Python代码在线运行
Go语言代码在线运行
C#代码在线运行
JSRUN闪电教程系统是国内最先开创的教程维护系统, 所有工程师都可以参与共同维护的闪电教程,让知识的积累变得统一完整、自成体系。
大家可以一起参与进共编,让零散的知识点帮助更多的人。
X
选择支付方式:
立即支付
¥
9.99
无法付款,请点击这里
金额: 0 元
备注:
转账时请填写正确的金额和备注信息,到账由人工处理,可能需要较长时间
备注:
转账时请填写正确的金额和备注信息,到账由人工处理,可能需要较长时间
如有疑问请联系QQ:565830900
正在生成二维码, 此过程可能需要15秒钟