是否有针对MtGox / PubNub JSON API的现成Java类?

时间:2013-12-10 13:20:47

标签: java json pubnub mtgox

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

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

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响应的结果?

1 个答案:

答案 0 :(得分:1)

适用于MtGox JSON API的PubNub Java类

很容易创建一个现成的Java类来摄取Mt.Gox提供的实时源这是一篇正在进行中的文章,向您展示如何从开发中显示如何从Mt.Gox访问PubNub数据源控制台直播!

官方比特币Wiki JSON Streaming API

我们将使用比特币官方Wiki提供的比特币wiki提要指令:https://en.bitcoin.it/wiki/MtGox/API/Pubnub - 继续阅读屏幕截图下方的内容。

PubNub Developer Console

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

  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. 直播Feed代码更新(价格变动):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
  4. PubNub Java SDK Docs

    我们将使用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