前几天被后端小伙伴捉弄了一些,实际上是这样的,他返回了一个json给我,像下面这样
{
"status": "000",
"msg": "成功"
"list": [{
"贵宾接待1室": [{
"id": "600",
"start_time": "09:00",
"end_time": "10:00",
"content": "张婷"
}, {
"id": "601",
"start_time": "10:00",
"end_time": "11:00",
"content": "李俊"
}, {
"id": "602",
"start_time": "13:00",
"end_time": "14:00",
"content": "张涛"
}, {
"id": "603",
"start_time": "14:00",
"end_time": "15:00",
"content": "郑超"
}]
}],
}
大家会发现list数组里面套的json的,”贵宾接待1室”这个是json的键不是键值,而这个也是我要读取的数据,这时候我和后端说,我要下面这种格式的数据,结果他说他太忙了,没时间。
所以我只能自己弄,那就自己转吧,我们暂且从list[0]开始处理哈,自己给”贵宾接待室”这个数据加一个键,把他转化成键值。
//是这样的,我们封装这样一个函数
function JsonAddKey(json){
RiChengArr = [];
for(var key in json){
RiChengArr.push({RoomName:key,data:json[key]});
}
return RiChengArr;
}
我们将“贵宾接待室”添加叫做“RoomName”键,后面的日程安排也添加一个“data”键;
这时候,我们将respMsg.list[0]传到我们刚刚封装的JsonAddKey(json)函数里面去。
JsonAddKey(respMsg.list[0]);
//我们也可以在将这组数据字符串化,先在控制台打出来看一看;
console.log(JSON.stringify(JsonAddKey(respMsg.list[0])));
//我们就会读取以下数据
[{
"RoomName": "贵宾接待1室",
"data": [{
"id": "600",
"start_time": "09:00",
"end_time": "10:00",
"content": "张婷"
}, {
"id": "601",
"start_time": "10:00",
"end_time": "11:00",
"content": "李俊"
}, {
"id": "602",
"start_time": "13:00",
"end_time": "14:00",
"content": "张涛"
}, {
"id": "603",
"start_time": "14:00",
"end_time": "15:00",
"content": "郑超"
}]
}]
这个时候,我们就能通过读取json的方式,把贵宾接待1室,贵宾接待2室等……通过遍历的方式写到页面啦!