我正在調(diào)用ethplorer.io api,它返回下面的json。我已經(jīng)在Visual Studio中通過“粘貼特殊->將json粘貼為類”生成了類。我的問題是Tokeninfo將price聲明為對象,這是因為,如果沒有價格信息,它就可以為false;如果有值,則可以為字典。雖然我已經(jīng)成功地使用JsonConvert.DeserializeObject(rawJSON)反序列化了響應(yīng),但是我正在努力將price轉(zhuǎn)換為c#字典(如果它具有值)。public class Tokeninfo{ public string address { get; set; } public string name { get; set; } public object decimals { get; set; } public string symbol { get; set; } public string totalSupply { get; set; } public string owner { get; set; } public long lastUpdated { get; set; } public int issuancesCount { get; set; } public int holdersCount { get; set; } public object price { get; set; } public string description { get; set; } public float totalIn { get; set; } public float totalOut { get; set; }}JSON響應(yīng):{ "address": "0xd8f41f341afe2c411b21b3f96263c6584b69baeb", //Not my address "ETH": { "balance": 762.13611095505, "totalIn": 1040.0907032491, "totalOut": 277.954592294 }, "countTxs": 22, "tokens": [ { "tokenInfo": { "address": "0x355a458d555151d3b27f94227960ade1504e526a", "name": "StockChain Coin", "decimals": "18", "symbol": "SCC", "totalSupply": "10000000000000000000000000000", "owner": "0x", "lastUpdated": 1524401998, "issuancesCount": 0, "holdersCount": 86520, "price": { "rate": "0.0531126", "diff": 4.8, "diff7d": 19.82, "ts": "1524400762", "marketCapUsd": null, "availableSupply": null, "volume24h": "622004.0", "currency": "USD" } }, "balance": 5000000000000000000, "totalIn": 0, "totalOut": 0 },
2 回答

MM們
TA貢獻(xiàn)1886條經(jīng)驗 獲得超2個贊
我認(rèn)為false
在沒有價格的情況下使用這不是一個很好的方法。如果沒有價格,則應(yīng)該是類似的東西,"price" :{}
或者根本不應(yīng)該有價格元素。換句話說,混搭boolean
object
和dictionaty
恕我直言不是一個好主意。
我認(rèn)為您可以使用VisualStudio
class提供的wherePrice
是object
。您可以創(chuàng)建一個自定義的序列化程序,將false
其null
與標(biāo)準(zhǔn)反序列化機制一起(作為具有空字段的對象)使用。
- 2 回答
- 0 關(guān)注
- 286 瀏覽
添加回答
舉報
0/150
提交
取消