基本的に、これは私が返したい種類のデータです:
{
"Top10BidAsks":[
{
"Bid":{
"Price":10.0,
"Size":2.0,
"ExchangeID":"SMART",
"timeStamp":0
},
"Ask":{
"Price":12.0,
"Size":2.0,
"ExchangeID":"SMART",
"timeStamp":0
}
},
{
"Bid":{
"Price":0.0,
"Size":0.0,
"ExchangeID":"SMART",
"timeStamp":0
},
"Ask":{
"Price":13.0,
"Size":12.0,
"ExchangeID":"SMART",
"timeStamp":0
}
}
]
}
{"Price":10.0,"Size":2.0,"ExchangeID":"SMART","timeStamp":0} は、基本的に、これら 4 つのフィールドで作成した MarketData オブジェクトを表します。
私が呼び出している主な機能は次のとおりです。
public MarketDataListLevel2 getMarketDataDepth() {
try {
MarketDataListLevel2 md = cs.getMarketDataDepth();
log.info(md.toString());
return md;
}
catch ( Exception e) {
....
}
}
cs は、サイトから JSON データを取得する単なるインターフェイスです。
MarketDataLevel2 オブジェクトは次のとおりです。
public class MarketDataListLevel2 {
public static class MarketDataList {
public MarketData[] a;
}
public MarketDataList[] listofmarketdatalists;
public MarketDataListLevel2(@JsonProperty("Top10BidAsks") MarketDataList[] listofmarketdatalists) {
this.listofmarketdatalists = listofmarketdatalists;
}
このオブジェクトを必要な出力と一致させようとしましたが (書式設定に関して)、返されるデータが得られないため、明らかにデータ構造エラーが発生している可能性があります。
リストした最初のメソッドを実行すると:
MarketDataListLevel2 a = getDepthMarketData(coin);
この「a」オブジェクトをデバッグすると、{"Bid":{"Price":10.0,"Size":2.0," という形式のオブジェクトが含まれているのではなく、listofmarketdatalists 配列の各要素が「null」になっていることがわかります。 ExchangeID":"SMART","timeStamp":0}, "Ask":{"Price":12.0,"Size":2.0,"ExchangeID":"SMART","timeStamp":0}}.
どんなアドバイスも素晴らしいでしょう。