最近在做电影项目中,前端在拿后端查询的值时碰见unidefined,后端获取的数据格式为数组包对象

其中”film.film_id“和”film.filmName“在前端拿的为undefined,本来想着这是一个数组包对象的格式,采用数组下标和对象的点运算符来获取值,但是结果却是undefine,后来仔细发现这里的key为字符串,所以不能用点运算符来获取
解决办法:
采用for in 的遍历方法对”msg“进行了遍历,其中for(let key in msg)中的key为下标
所以msg[key][’film.filmName‘]成功的获取到值

这里发现了对象的key可以为字符串类型,当为字符串类型时就采用如下的方法
msg['film.film.Name']
下面这是项目中完整的写法
后端发送的格式为JSON格式
exports.lookPostAll = async (req,res)=>{
// let post = {
// postId:req.body.postId,
// }
await filmPostCrud.queryPostId().then((data)=>{
res.json({
code:200,
msg:data
})
}).catch(e=>{
console.log(e)
})
}
前端获取的方法
getFilmPost(){
$http.get('/lookCinemaPost/lookPost').then(res=>{
this.list = res.data.msg
console.log('list',res.data.msg)
for(let item in res.data.msg){
console.log( '这是后端发来的海报信息',this.list[item]['film.filmName'])
}
}).catch(err=>{
console.log(err)
})
}