vue工程里怎么使用axios接收一个json的数组,并使用该数组的某个元素

刚入门axios。。。搜了好久都没有axios的教程之类的文章,只能一边试一边学。
现在碰到个问题,搞了好久都不会。。。
axios怎么获取到json里的数组,并且使用这个数组呢,比如说用它进行For循环。
json里面的数据是一个数组

"user":[
{"star":3,"job":"1保安","address":"马路511","date":"2017-8-20","money": "18/小时"},
{"star":2,"job":"2保安","address":"马路611","date":"2016-8-20","money": "16/小时"},
{"star":1,"job":"3保安","address":"马路711","date":"2017-8-20","money": "18/小时"},
{"star":3,"job":"4保安","address":"马路811","date":"2016-8-20","money": "16/小时"}]

自己用代码获取了json里的数组

onClikedown() {
        axios.get('./static/test.json').then((res) =>{
          this.name = res.data.user
        })
        }

现在打印出来是跟数组一模一样的数据。。。
假如我想获取user里的star,该怎么操作?

阅读 11.3k
2 个回答

假设是在vue项目里

axios.get('./static/test.json').then(res => {
        // 使用ajax请求数据获取到users(数组),所以this.users是数组
        this.users= res.data.user
    })
}

如果你想获取每个user的start可以使用for循环,当然在vue模板渲染里使用的是v-for例如:

<li v-for="user in users">satrt:<span>{{user.start}}</span></li>

如果只是想在js里面单独获取某个user的start可以直接在数组中取一下,例如

// 获取第一个用户的start
var start1 = this.users[0].start

// 获取第二个用户的address
var address2 = this.users[1].address
 var tmp=JSON.parse(res.data.user);
  tmp[0].star;
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进