【问题标题】:Are there ready made Java classes for the MtGox/PubNub JSON API? [duplicate]是否有用于 MtGox/PubNub JSON API 的现成 Java 类? [复制]
【发布时间】:2013-12-10 13:20:47
【问题描述】:

我正在使用带有 Java 的 Pubnub API 从 MtGox 中提取数据。

我想执行以下操作,其中Message 是我正在寻找的第 3 方类:

public void successCallback(String channel, Object message) {
    JSONObject messageJson = (JSONObject) message;

    // This next line is where I'm stuck
    ObjectMapper mapper = new ObjectMapper(); 
    Message myMessage = mapper.readValue(messageJson.toString(), Message.class);

    // do stuff with myMessage here
}

如何以我可以在我的代码中使用的方式读出 JSON 响应的结果?

【问题讨论】:

  • 我们正在构建对此答案的回复,并将提供完整的 SDK,该 SDK 将通过 API 托管在答案论坛上。
  • 当我们把这个现成的 Java 类放在一起时,您有什么特殊要求吗?
  • @PubNub,请参阅。 stackoverflow.com/questions/20534862/… 一个密切相关的话题。
  • 这个问答串联的感觉有点不对劲,所以我opened a Meta discussion about it。直觉:接近要求第三方资源,但我不是 100% 确定。
  • @Makoto 是的,这就是 OT,因为它原来的样子。但是,答案值得调整问题以删除对链接/库的直接请求。我已经进行了编辑,希望能成功。

标签: java json pubnub mtgox


【解决方案1】:

MtGox JSON API 的 PubNub Java 类

很容易创建一个现成的 Java 类来摄取 Mt.Gox 提供的实时提要控制台实时供稿!

官方比特币维基 JSON 流 API

我们将根据比特币官方 Wiki 提供的比特币 wiki 提要说明进行工作:https://en.bitcoin.it/wiki/MtGox/API/Pubnub - 继续阅读下面的屏幕截图以继续。

要查看我们将使用的实时数据馈送,请查看以下两个链接:

  1. 实时饲料交易事件(买/卖饲料):https://www.pubnub.com/console?sub=sub-c-50d56e1e-2fd9-11e3-a041-02ee2ddab7fe&pub=demo&channel=dbf1dee9-4f2e-4a08-8cb7-748919a71b21&origin=pubsub.pubnub.com&ssl=true
  2. 实时提要代码更新(价格变化):https://www.pubnub.com/console?sub=sub-c-50d56e1e-2fd9-11e3-a041-02ee2ddab7fe&pub=demo&channel=d5f06780-30a8-4a48-a2f8-7ed181b4a13f&origin=pubsub.pubnub.com&ssl=true
  3. 贸易滞后示例:https://www.mtgox.com/lag.html

PubNub Java SDK 文档

我们将使用 PubNub Java SDK 文档 http://www.pubnub.com/docs/java/javase/overview/data-push.html

具体来说,我们将使用mtgox.subcribe(...) 实例方法来集中精力,如下所示:

下载 JAR 或来源:https://github.com/pubnub/mtgox

import org.json.JSONObject;
import com.pubnub.mtgox.MtGox;
import com.pubnub.mtgox.MtGoxCallback;

public class PubnubMtGoxSample {

    public static void main(String[] args) {
        MtGox mtgx = new MtGox();

        mtgx.subscribe("ticker.BTCUSD", new MtGoxCallback(){

            @Override
            public void callback(JSONObject data) {
                try {
                    String channel_name = data.getString("channel_name");
                    String avg_value = data.getJSONObject("ticker").getJSONObject("avg").getString("value");
                    System.out.println(channel_name + " : " + avg_value);
                } catch (Exception e) {}

            }});
    }
}

查看带有 Java 源代码的完整 MtGox 示例 - https://github.com/pubnub/mtgox/blob/master/java/examples/PubnubMtGoxSample.java

编译示例到https://github.com/pubnub/mtgox/tree/master/java并运行

javac -cp Pubnub-MtGox.jar:libs/json-20090211.jar   examples/PubnubMtGoxSample.java

然后运行:

java -cp .:examples/:Pubnub-MtGox.jar:Pubnub-StandardEdition-3.5.6.jar:libs/json-20090211.jar:libs/bcprov-jdk15on-1.47.jar:libs/slf4j-api-1.7.5.jar:libs/slf4j-nop-1.7.5.jar PubnubMtGoxSample

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-05-20
    • 1970-01-01
    • 2011-02-27
    • 2011-02-05
    • 2011-04-18
    相关资源
    最近更新 更多