【问题标题】:How to use a JSON API? [closed]如何使用 JSON API? [关闭]
【发布时间】:2013-12-22 04:21:28
【问题描述】:

我知道这可能是一个有点“大”的问题要问,但我有这个我想使用的 JSON API,我以前从未使用过 API,也不知道如何使用它,我已阅读关于如何使用 JSON API 的一些知识,也尝试了一些,所以我对如何使用它有一个模糊的想法,但我无法让它工作。

如果我想使用此 API 创建最新/最新价格的“代码”:https://github.com/ralphtheninja/goxstream

https://en.bitcoin.it/wiki/MtGox/API/Streaming

我该怎么做?

我知道我可能正在努力尝试回答这个问题,但我已经尝试了很长时间,但我并没有真正得到任何地方,所以非常感谢我能得到的所有帮助。

编辑: 代码

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" 
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Untitled Document</title>
<script src="index.js"></script>


<script type="text/javascript">

var ticker = require('goxtick')('USD')

ticker.on('ticker', function (data) {
  window.alert('ticker data:', data)
})

</script>
</head>
<body>
</body>
</html>

【问题讨论】:

  • 您的第二个链接不是在“示例”部分包含完整的代码程序示例吗?
  • 如果您尝试过,请发布代码,以便我们帮助确定您做错了什么
  • 好的,现在已经发布了一些代码,一开始没有,因为我想尽量避免看起来完全愚蠢 x)
  • 你在发布代码时看起来更聪明,即使代码并不完美!
  • 您是在尝试使用 MtGOX API,还是来自该 GitHub 链接的该 API 的客户端库? “API”是一组返回 JSON 的 HTTP URL。一个库会将对该 API 的 AJAX 请求包装成更好用的东西。关于使用 a JSON API,没有太多要解释的,你向它发出 HTTP 请求,然后你得到东西。如何用它完成给定的任务完全是另一回事。

标签: javascript jquery html json api


【解决方案1】:

使用 mtgox 脚本和 jquery,您可以打开一个套接字并将价格推送给您,如下所示:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Price Ticker?</title>

<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.10.2/jquery.min.js">
</script>
<script src="http://socketio.mtgox.com/socket.io/socket.io.js"></script>
<script>
$(
function(){
    var conn = io.connect('http://socketio.mtgox.com/mtgox');
    conn.on('message', function(data) {
        // Handle incoming data object.
        $("#price").html(data.depth.price);
    });
}
);
</script>
</head>

<body>


Price: <div id="price">???</div>


</body>
</html>

【讨论】:

  • 谢谢,这行得通,我只是将“深度”更改为“交易”,现在正是我想要的(:
【解决方案2】:

以下是我从这个 API 获取一些信息的方法:

  1. 至少阅读部分文档。您提供的 link 似乎有足够的信息可以使用。

  2. 注意一个有用的浏览器示例代码,即这个

    <script src="https://socketio.mtgox.com/socket.io/socket.io.js"></script>
    <script>
        var conn = io.connect('https://socketio.mtgox.com/mtgox');
        conn.on('message', function(data) {
            // Handle incoming data object.
        });
    </script>
    
  3. 创建一个测试 HTML 页面,仅包含该页面(在本地网络服务器上,不通过文件 URL 访问。)

  4. 意识到我实际上需要知道正在发生的事情,所以用一个简单的替换注释行

            console.log(data);
    
  5. 在浏览器中打开它,同时打开开发者工具。

  6. 请注意,没有任何反应,但在“网络”选项卡中加载请求的资源时出现问题。

  7. 尝试直接在浏览器中打开这些资源,请注意 SSL 证书似乎已损坏。将两者都从https 更改为http,看看它是否有效。

  8. 重新加载浏览器,并在控制台中观看数据滚动。


这看起来像是有用的数据。有称为depthtickertrade 的事件,具有各种关联字段。我没有深入了解文档以了解它们,但如果您要使用这些数据,您现在应该能够使用此信息流做一些有用的事情。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-05-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多