vue + flyio,将返回的jsonp数据处理为json格式

(1)在页面中console.log(res)接口返回数据,并在控制台查中看,得到:

MusicJsonCallback({"code":0,"subcode":0,"message":"","default":0,"data":{"topList":[{"id":4,"listenCount":19800000,"……

这是jsonp格式的字符串,并不是我们想要的json格式

(2)转换为json格式:

首先,通过slice(start, end),去掉前面的“MusicJsonCallback(”和最后面的反括号“)”

然后,通过JSON.parse将得到的JSON字符串转换为Object

  _getTopList() {
    getTopList().then((res) => {
      // console.log(res)
      let num = res.indexOf('(')
      // JSON.parse将JSON字符串转换为对象
      let result = JSON.parse(res.slice(num + 1, -1))
      // console.log(typeof(result), result)
      if (result.code === ERR_OK) {
        this.topList = result.data.topList
      }
    })
  }

猜你喜欢

转载自blog.csdn.net/qq_32678401/article/details/81707032