我收到一个对象作为响应,我使用 response.json() 将其转换为 JSON,但随后无法从 json 中获取值? [复制]
Posted
技术标签:
【中文标题】我收到一个对象作为响应,我使用 response.json() 将其转换为 JSON,但随后无法从 json 中获取值? [复制]【英文标题】:I am receiving an object as a response that I convert to JSON by using response.json() but then cant get the values out of the json? [duplicate] 【发布时间】:2019-02-26 11:38:13 【问题描述】:我正在向 spotify 发送一个请求,以从他们那里获取一个 id 值,以便稍后在发布请求中使用。
fetch('https://api.spotify.com/v1/me',
headers:
'Authorization': `Bearer $token`
).then(response =>
let jsonResponse = response.json();
);
当使用 response.json() 转换为 jason 时,此代码返回一个如下所示的对象
Promise <pending>__proto__: Promise[[PromiseStatus]]: "resolved"[[PromiseValue]]: Objectdisplay_name: "Jesse James"external_urls: spotify: "https://open.spotify.com/user/1257754444"followers: href: null, total: 3href: "https://api.spotify.com/v1/users/1257754444"id: "1257754444"images: […]type: "user"uri: "spotify:user:1257754444"__proto__: Object
现在我想提取 id 值。但是当我使用 console.log( jsonResonse.id ) 我得到一个未定义的。如何获得该值?
【问题讨论】:
你能给我看看原始回复吗?jsonResponse
是 json 响应的 promise
【参考方案1】:
response.json()
返回一个承诺
所以,简单地继续承诺链如下
fetch('https://api.spotify.com/v1/me',
headers:
'Authorization': `Bearer $token`
)
.then(response => response.json()) // response.json() returns a Promise
.then(jsonResponse =>
// here jsonResponse is the json you were looking for
);
【讨论】:
以上是关于我收到一个对象作为响应,我使用 response.json() 将其转换为 JSON,但随后无法从 json 中获取值? [复制]的主要内容,如果未能解决你的问题,请参考以下文章