【问题标题】:Recieving wrong values from JSON API从 JSON API 接收错误值
【发布时间】:2023-03-10 12:45:01
【问题描述】:

我有以下代码:

var urlKraken1 = "https://api.kraken.com/0/public/OHLC?pair=XBTUSD&interval=1";
request({
    url: urlKraken1,
    json: true
}, function (error, response, body) {
    if (!error && response.statusCode === 200) {
        var valuesArray = [];           
        var cur = body.result.XXBTZUSD.length -1;       
        var time = body.result.XXBTZUSD[cur][0];
        var high = body.result.XXBTZUSD[cur][2];
        var low = body.result.XXBTZUSD[cur][3];
        var open = body.result.XXBTZUSD[cur][1];
        var close = body.result.XXBTZUSD[cur][4];
        var volume = body.result.XXBTZUSD[cur][6];
        var Currency1 = "BTC";
        var Currency2 = "USD";
        valuesArray.push([time, "kraken.com", Currency1, Currency2, high, low, open, close, volume]);
        writeMultiRows("kraken.com", Currency1, valuesArray);
} 

但在我的数据库中,我得到的值与 API 中的值不正确。 我收到的数据例如:

time = 1499280240 
high = 2609.001
low = 2608.666
open = 2609.001
close = 2608.666
volume= 12.42484963

但我应该收到:

time = 1499280240
high = 2610.000
low = 2605.022
open = 2609.001
close = 2610.000
volume= 15.42483298

提前感谢您的各种提示和帮助!

【问题讨论】:

  • 检查浏览器开发者工具网络选项卡中的请求 - 来自服务器的数据是否正确?如果不是,那么客户端代码(您显示的唯一代码)不是问题
  • 看起来你现在应该得到 - 1499319720,"2594.179","2594.179","2594.179","2594.179","2594.179","0.10000000",1 你想要最后一个还是倒数第二个值? - 对于倒数第二个值,使用var cur = body.result.XXBTZUSD.length - 2

标签: javascript arrays json api


【解决方案1】:

您分配的数据有误。 按 f12 并打开网络选项卡并检查网络响应以查看确切数据... 相应地分配数组...

【讨论】:

    猜你喜欢
    • 2018-05-14
    • 2017-11-05
    • 2011-11-26
    • 2015-12-20
    • 1970-01-01
    • 1970-01-01
    • 2017-02-22
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多