json - 如何在一个 GET 请求中解析来自 Coinbase API 的所有股票代码

标签 json rest api coinbase-api

我试图在来自 Coinbase REST API 的一个 JSON 负载响应中获取所有代码(货币对)及其相应的买入价和卖出价数据。如果我对每个单独的股票代码都有 GET 请求,我将必须避免收到 Coinbase API 文档中提到的 729 错误。

我有一个 GET 请求到这个 URL -> https://api-public.sandbox.pro.coinbase.com/products/BTC-USD/book

它返回我需要的 BTC-USD 数据,但实际上我对交易所列出的所有代码及其相应的买价和卖价数据感兴趣,只需一次查询即可。

例如,许多其他交易所将货币代码首字母缩写词替换为“ALL”。所以我的 JSON 负载响应将类似于以下内容:

我已经尝试设置一个计时器函数来一次解析单个代码 3 秒,但这不是从 JSON 获取我需要的所有数据的最快方法。

JSON 响应应如下所示:

{
  "ticker": [
    {
      "symbol": "ABBCBTC",
      "24hrHigh": "0.00000850",
      "last": "0.00000842",
      "24hrVol": "1507399.04",
      "ask": "0.0000084",
      "24hrLow": "0.00000813",
      "bid": "0.00000833",
      "24hrAmt": "12.52040928"
    },
    {
      "symbol": "ABTETH",
      "24hrHigh": "0.001078",
      "last": "0.001078",
      "24hrVol": "5.27",
      "ask": "0.001988",
      "24hrLow": "0.000964",
      "bid": "0.000983",
      "24hrAmt": "0.005681"
    },
    {
      "symbol": "ABTUSDT",
      "24hrHigh": "0.212",
      "last": "0.202",
      "24hrVol": "944.91",
      "ask": "0.203",
      "24hrLow": "0.190",
      "bid": "0.197",
      "24hrAmt": "183.148"
    },
    {
      "symbol": "ABYSSETH",
      "24hrHigh": "0.0000500",
      "last": "0.0000500",
      "24hrVol": "0",
      "ask": "0.000055",
      "24hrLow": "0.0000500",
      "bid": "0.0000301",
      "24hrAmt": "0.0000000"
    },
    {
      "symbol": "ACDCBTC",
      "24hrHigh": "0.000000011",
      "last": "0.000000010",
      "24hrVol": "86773.47",
      "ask": "0.00000001",
      "24hrLow": "0.000000009",
      "bid": "0.000000009",
      "24hrAmt": "0.000858894"
    },
    {
      "symbol": "ACDCUSDT",
      "24hrHigh": "0.000110",
      "last": "0.000107",
      "24hrVol": "24011.63",
      "ask": "0.000107",
      "24hrLow": "0.000085",
      "bid": "0.000087",
      "24hrAmt": "2.088214"
    },
    {
      "symbol": "ADDETH",
      "24hrHigh": "0.000046",
      "last": "0.000046",
      "24hrVol": "0",
      "ask": "0.000062",
      "24hrLow": "0.000046",
      "bid": "--",
      "24hrAmt": "0.000000"
    },
    {
      "symbol": "ADIETH",
      "24hrHigh": "0.00000310",
      "last": "0.00000310",
      "24hrVol": "0",
      "ask": "0.00000744",
      "24hrLow": "0.00000310",
      "bid": "0.0000031",
      "24hrAmt": "0.00000000"
    },
    {
      "symbol": "ADNBTC",
      "24hrHigh": "0.0000000378",
      "last": "0.0000000375",
      "24hrVol": "551104713.07",
      "ask": "0.0000000379",
      "24hrLow": "0.0000000366",
      "bid": "0.0000000367",
      "24hrAmt": "20.4085431339"
    }
  ]
}

最佳答案

似乎你无法在一次调用中获得所有代码((我不想使用网络套接字,所以我发出了一系列请求,如 https://api.gdax.com/products/BTC-EUR/ticker,它们之间有停顿。这是不好的做法,但是我还没有时间重新制作网络套接字的基础设施。Coinbase 是唯一不允许在一个电话中接收所有代码的交易所。我从 Bittrex、Bitmex、Kraken、Bitfinex、Binance 获得报价——而且没有一次获取所有代码的问题。

祝你好运!

关于json - 如何在一个 GET 请求中解析来自 Coinbase API 的所有股票代码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57947131/

相关文章:

ruby-on-rails - 使用 Rails(HTTP 请求)连接到 Web 服务?

ruby-on-rails - 是否有任何 gem 可以将 paypal button api 集成到 rails 应用程序?

c# - 在不调用外部 api 的情况下在 rest web API 的 Controller 内部查找客户端公共(public) IP 地址

java - Hibernate 将消息标记为 'read'

php - 通过 JSON 访问错误代码

javascript - 在哪里可以获得将法定货币金额转换为加密货币值(value)的加密 API

java - 在 Oauth2 token 请求 URL 中隐藏密码

java - 在 Spring 中使用 Cookie 对 Restful 服务进行身份验证

java - 将 JSONObject 转换为字符串并 long 返回 null

c# - 如何使用 DataContractSerializer 反序列化具有未命名类型集合的 JSON