请稍等 ...
×

采纳答案成功!

向帮助你的同学说点啥吧!感谢那些助人为乐的人

后端使用axios的post请求music云函数,返回的是字符串,怎么转换成数组

const Router = require(‘koa-router’)
const router = new Router()
const axios = require(‘axios’)
const getAccessToken = require(’…/utils/getAccessToken.js’)

router.get(’/list’, async (ctx, next) => {
//查询歌单列表
const ACCESS_TOKEN = await getAccessToken()
const ENV = 'test-6golf8e0c24e8273’
const url = https://api.weixin.qq.com/tcb/invokecloudfunction?access_token=${ACCESS_TOKEN}&env=${ENV}&name=music
const data = await axios({
url,
method: ‘post’,
data: {
$url: ‘playlist’,
start: 0,
count: 50
}
}).then((res) => {
console.log(res.data)
return res.data
}).catch((error) => {
console.log(error)
})
ctx.body = {
data,
code:20000
}

})

module.exports = router

图片描述

正在回答 回答被采纳积分+3

1回答

谢成 2021-09-27 09:14:39
JSON.parse()方法可以把字符串转化为对象,然后就可以去掉对象下面的属性了。
0 回复 有任何疑惑可以回复我~
  • 提问者 京2747767 #1
    昨天发错了,res是对象,但是用res.data取不到歌单。云函数在小程序端调用能拿到数组,这里typeof显示是对象,拿到的却是字符串
    回复 有任何疑惑可以回复我~ 2021-09-27 09:28:09
  • 提问者 京2747767 #2
    return res.data 能取到字符串歌单
    return res,报错,提示这个信息
    
    服务开启在3000端口
    object
    
      TypeError: Converting circular structure to JSON
          --> starting at object with constructor 'ClientReques
          |     property 'socket' -> object with constructor 'T
          --- property '_httpMessage' closes the circle
          at JSON.stringify (<anonymous>)
          at respond (C:\Users\Administrator\Desktop\music-amin
          at handleResponse (C:\Users\Administrator\Desktop\mus
          at processTicksAndRejections (internal/process/task_q
    回复 有任何疑惑可以回复我~ 2021-09-27 10:12:46
问题已解决,确定采纳
还有疑问,暂不采纳
意见反馈 帮助中心 APP下载
官方微信