我这个案例属于新手小白,高手慎入。
经常遇到数据嵌套和数据处理,举个例子:
json = [
{"name":zhangsan,"id":111,"sex":1,"time":2020/12/15,},
{"name":李四,"id":222,"sex":0,"time":1900/1/1,},
{"name":王五,"id":333,"sex":1,"time":1900/1/1,},
],
收到以上这个数据格式,然后想判断sex=0就显示为女,sex=1就显示为男;不管白猫黑猫,能构建处理就是好猫
就是重写拆分构建:
//定义新容器
var newJson=[];
ver newSex;
//循环替换对象
for(var i=0;i<json.length;i++){ //判断原json里面的长度,进行循环修改
//这就判断替换值咯
if(json[i].sex == 0){
newSex= "女"
}else{
newSex= "男"
}
newJson.push(
{"name":json[i].name,"id":json[i].id,"sex":newSex,"time":json[i].time,}
);
}
适用于js和VUE
应该还有更简单的方法,比如spit()等函数,直接就可以,不用写这么多行代码。上面这种方法可以构建树或者其他更简单
json = [
{"name":张三,"id":111,"sex":1,"time":2020/12/15,
"childInfo":{
"name":张三人,"id":111,"sex":1,"time":2020/12/15,"childInfo":null
}
},
{"name":李四,"id":222,"sex":0,"time":1900/1/1,"childInfo":null
"childInfo":{
"name":张三啊,"id":111,"sex":1,"time":2020/12/15,"childInfo":null
}
},
{"name":王五,"id":333,"sex":1,"time":1900/1/1,"childInfo":null},
],
类似这种嵌套,然后你想变成这种格式:
JSON = [
{"name":张三,"id":333,"sex":1,"time":1900/1/1,"childInfo":null},
{"name":张三人,"id":333,"sex":1,"time":1900/1/1,"childInfo":null},
{"name":李四,"id":333,"sex":1,"time":1900/1/1,"childInfo":null},
{"name":张三啊,"id":333,"sex":1,"time":1900/1/1,"childInfo":null},
{"name":王五,"id":333,"sex":1,"time":1900/1/1,"childInfo":null},
],
那就做个递归循环屈解决,每个都拆分,VUE的大概写法,JS也是如此类型。这就是构造新的结构(虽然办法傻了点)
getjson(e){//tree置换【{},{}】的JSON方法
value;//数据来源
var NewJSON = [];
var i ;
e.map((cuttentDate ) => {
this.NewJSON.push( {"name":value.name,"id":value.id,"sex":value.sex,"time":value.,"childInfo":value.childInfo},);
cuttentDate.childInfo!=null && cuttentDate.childInfo.length >0 ? this.getjson(cuttentDate.childInfo,cuttentDate.id) : "";
})
},