【问题标题】:How to use fetch API to get an Array back?如何使用 fetch API 取回一个数组?
【发布时间】:2017-10-25 06:34:37
【问题描述】:

我有一个 API,它将返回一个数组给我。 我尝试使用 fetch API 来取回数组。 我知道如果我使用 fetch 来获取一些数据,那么响应中的真实主体是 ReadableStream。 如果数据是 json,我通常在 then 函数中通过 response.json() 处理它。 不知道数组数据怎么处理?

【问题讨论】:

  • 需要查看您的 API 将数组表示为什么,以及您当前如何尝试获取数据,使用 .json() 方法将正确格式化并返回数组值
  • 如果不是 JSON,什么是“数组数据”? CSV?
  • confused API 发回的具体内容是什么?不是 JSON?
  • 你不需要解析 JSON 吗?
  • 您也可以使用.text() 自己解析任何内容,以您找到解析器的任何格式。

标签: javascript fetch-api


【解决方案1】:

如果您的 API 未返回 JSON 数组 [1,2,3],那么您可以使用 .text 函数获取原始值:

fetch('/api/text').then(function(response) {
  return response.text()
}).then(function (text) {
  // parse the text here how you want, for csv:
  // return text.split(',')
})

否则您可以简单地使用.json 方法来获取数组值。

您提到的ArrayBuffer 是读取二进制缓冲区,它可用于获取歌曲等...如果您的 API 返回此内容,我会查看链接以了解您可以做什么。您很可能需要对缓冲区进行解码,而这完全取决于您的 API 对其进行编码的方式,如果没有关于您的 API 响应的更多详细信息,我无法回答这个问题。

【讨论】:

  • 刚刚意识到 .split(',') 将文本转换为数组 :)
猜你喜欢
  • 1970-01-01
  • 2016-10-08
  • 2021-03-25
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-11-23
  • 2020-09-17
相关资源
最近更新 更多