0

MtGox ティッカーからの json を解析しようとしています。 http://data.mtgox.com/api/2/BTCUSD/money/ticker

私は同じ結果で2つの方法を試みました。

  1. JsonObject d1 = JsonSerializer.DeserializeString(ダウンロードしたデータ)
  2. JsonObject d2 = JsonObject.Parse(ダウンロードしたデータ)

d1["data"] にアクセスしようとすると、逆シリアル化に最適な文字列のように見えます =>

{
    [data, {
            "high" : {
                "value" : "600.00000",
                "value_int" : "60000000",
                "display" : "$600.00",
                "display_short" : "$600.00",
                "currency" : "USD"
            },
            "low" : {
                "value" : "515.00000",
                "value_int" : "51500000",
                "display" : "$515.00",
                "display_short" : "$515.00",
                "currency" : "USD"
            },
            "avg" : {
                "value" : "557.60317",
                "value_int" : "55760317",
                "display" : "$557.60",
                "display_short" : "$557.60",
                "currency" : "USD"
            },
            "vwap" : {
                "value" : "554.60404",
                "value_int" : "55460404",
                "display" : "$554.60",
                "display_short" : "$554.60",
                "currency" : "USD"
            },
            "vol" : {
                "value" : "20623.02466981",
                "value_int" : "2062302466981",
                "display" : "20,623.02\u00a0BTC",
                "display_short" : "20,623.02\u00a0BTC",
                "currency" : "BTC"
            },
            "last_local" : {
                "value" : "527.00000",
                "value_int" : "52700000",
                "display" : "$527.00",
                "display_short" : "$527.00",
                "currency" : "USD"
            },
            "last_orig" : {
                "value" : "527.00000",
                "value_int" : "52700000",
                "display" : "$527.00",
                "display_short" : "$527.00",
                "currency" : "USD"
            },
            "last_all" : {
                "value" : "527.00000",
                "value_int" : "52700000",
                "display" : "$527.00",
                "display_short" : "$527.00",
                "currency" : "USD"
            },
            "last" : {
                "value" : "527.00000",
                "value_int" : "52700000",
                "display" : "$527.00",
                "display_short" : "$527.00",
                "currency" : "USD"
            },
            "buy" : {
                "value" : "525.50002",
                "value_int" : "52550002",
                "display" : "$525.50",
                "display_short" : "$525.50",
                "currency" : "USD"
            },
            "sell" : {
                "value" : "526.99999",
                "value_int" : "52699999",
                "display" : "$527.00",
                "display_short" : "$527.00",
                "currency" : "USD"
            },
            "item" : "BTC",
            "now" : "1392201806575324"
        }
    ]
}

そして、上記の2つのオプションのいずれかで後者の文字列を逆シリアル化しようとすると、これが得られます

JsonObject d3 = JsonObject.Parse(d1["data"]);

Count = 5
    [0]: {[high:{value:600.00000, value_int:60000000]}
    [1]: {[display:$600.00, display_short:$600.00]}
    [2]: {[currency:USD}, low:{value:515.00000]}
    [3]: {[value_int:51500000, display:$515.00]}
    [4]: {[display_short:$515.00, currency:USD]}

これは真実からかけ離れています。そして、私によると、この結果は間違っており、json でさえ解析できません。=> {[通貨:USD}、安値:{値:515.00000]}

MS Javascript シリアライザーは正常に動作しています。

それで、私は何を間違っていますか?

ありがとう

4

1 に答える 1