将JSON对象转换为字典

我正在调用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

    },

   

跃然一笑
浏览 261回答 2
2回答

MM们

我认为false在没有价格的情况下使用这不是一个很好的方法。如果没有价格,则应该是类似的东西,"price" :{}或者根本不应该有价格元素。换句话说,混搭boolean object和dictionaty恕我直言不是一个好主意。我认为您可以使用VisualStudioclass提供的wherePrice是object。您可以创建一个自定义的序列化程序,将false其null与标准反序列化机制一起(作为具有空字段的对象)使用。
打开App,查看更多内容
随时随地看视频慕课网APP