为了账号安全,请及时绑定邮箱和手机立即绑定

将JSON对象转换为字典

将JSON对象转换为字典

C#
跃然一笑 2021-05-03 13:14:35
我正在调用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 objectdictionaty恕我直言不是一个好主意。

我认为您可以使用VisualStudioclass提供的wherePriceobject。您可以创建一个自定义的序列化程序,将falsenull与标准反序列化机制一起(作为具有空字段的对象)使用。


查看完整回答
反对 回复 2021-05-08
  • 2 回答
  • 0 关注
  • 257 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信