我正在调用ethplorer.io api,它返回下面的json。我已经在Visual Studio中通过“粘贴特殊->将json粘贴为类”生成了类。我的问题是Tokeninfo将price声明为对象,这是因为,如果没有价格信息,它就可以为false;如果有值,则可以为字典。虽然我已经成功地使用JsonConvert.DeserializeObject(rawJSON)反序列化了响应,但是我正在努力将price转换为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响应:{ "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贡献1886条经验 获得超2个赞
我认为false
在没有价格的情况下使用这不是一个很好的方法。如果没有价格,则应该是类似的东西,"price" :{}
或者根本不应该有价格元素。换句话说,混搭boolean
object
和dictionaty
恕我直言不是一个好主意。
我认为您可以使用VisualStudio
class提供的wherePrice
是object
。您可以创建一个自定义的序列化程序,将false
其null
与标准反序列化机制一起(作为具有空字段的对象)使用。
- 2 回答
- 0 关注
- 257 浏览
添加回答
举报
0/150
提交
取消