skip to Main Content

I’m not able to get the value from OneDay.price_change. The HTTP response is OK and I’m getting the following:

HTTP Response

 "[{"id":"BTC","currency":"BTC","symbol":"BTC","name":"Bitcoin","logo_url":"https://s3.us-east-2.amazonaws.com/nomics-api/static/images/currencies/btc.svg","status":"active","price":"60947.08258854","price_date":"2021-10-31T00:00:00Z","price_timestamp":"2021-10-31T18:51:00Z","circulating_supply":"18860037","max_supply":"21000000","market_cap":"1149464232662","market_cap_dominance":"0.4078","num_exchanges":"397","num_pairs":"67587","num_pairs_unmapped":"5196","first_candle":"2011-08-18T00:00:00Z","first_trade":"2011-08-18T00:00:00Z","first_order_book":"2017-01-06T00:00:00Z","rank":"1","high":"66082.82561618","high_timestamp":"2021-10-20T00:00:00Z","1h":{"volume":"1248590564.91","price_change":"-85.32656234","price_change_pct":"-0.0014","volume_change":"-218879322.04","volume_change_pct":"-0.1492","market_cap_change":"-1607003923.65","market_cap_change_pct":"-0.0014"},"1d":{"volume":"39937857069.60","price_change":"-845.68642611","price_change_pct":"-0.0137","volume_change":"1918883279.43","volume_change_pct":"0.0505","market_cap_change":"-15892518975.54","market_cap_change_pct":"-0.0136"}}]n"

However, for some reason, I’m not able to take the 1d price change. I’m not sure what could be the problem. Any help is appreciated!

enter image description here

Model:

   public class OneHour
    {
        public string Volume { get; set; }
        public string Price_change { get; set; }
        public string Price_change_pct { get; set; }
        public string Volume_change { get; set; }
        public string Volume_change_pct { get; set; }
        public string Market_cap_change { get; set; }
        public string Market_cap_change_pct { get; set; }
    }
    public class OneDay
    {
        public string Volume { get; set; }
        public string Price_change { get; set; }
        public string Price_change_pct { get; set; }
        public string Volume_change { get; set; }
        public string Volume_change_pct { get; set; }
        public string Market_cap_change { get; set; }
        public string Market_cap_change_pct { get; set; }
    }


    public class CryptoApiMain
    {
        public OneHour OneHour { get; set; }

        public OneDay OneDay { get; set; }

        public string Id { get; set; }

        public string Symbol { get; set; }

        public string Status { get; set; }

        public double Price { get; set; }

        public string Price_date { get; set; }

        public string Circulating_supply { get; set; }

        public string Num_exchanges { get; set; }


        public string Num_pairs { get; set; }

        public string Rank { get; set; }

        public string High { get; set; }

    }
    var theresponse = settingsService.CryptoApiResult(cryptoStock).Result;
        foreach (var rez in theresponse)
        {
           <span id="stockSymbolCrypto">@cryptoStock</span> 
     
<p>[email protected](@rez.Price) @rez.OneDay.Price_change</p>
    
      }

@rez.OneDay.Price_change error popup

2

Answers


  1. Problem is that your property name in json (1d) and property name in c# model (OneDay) is not matching.

    Use the below if you are using System.Text.Json (.Net Core 3.0 and newer)

    [JsonPropertyName("1d")]
    public OneDay OneDay { get; set; }
    

    Use the below if you are using Newtonsoft (Before .Net Core 3.0)

    [JsonProperty(PropertyName = "1d")]
    public OneDay OneDay { get; set; }
    
    Login or Signup to reply.
  2. Your " public OneHour OneHour { get; set; } " and " public OneDay OneDay { get; set; } " properties should be bind to [JsonProperty("1h")] and [JsonProperty("1d")]

    try this

    CryptoApiMain[] jsond = JsonConvert.DeserializeObject<CryptoApiMain[]>(json);
    
    var price = jsond[0].OneDay.PriceChange;
    

    result

    -845.68642611
    

    classes

     public partial class CryptoApiMain
        {
            [JsonProperty("1h")]
            public One OneHour { get; set; }
            [JsonProperty("1d")]
            public One OneDay { get; set; }
            
            [JsonProperty("id")]
            public string Id { get; set; }
    
            [JsonProperty("currency")]
            public string Currency { get; set; }
    
            [JsonProperty("symbol")]
            public string Symbol { get; set; }
    
            [JsonProperty("name")]
            public string Name { get; set; }
    
            [JsonProperty("logo_url")]
            public Uri LogoUrl { get; set; }
    
            [JsonProperty("status")]
            public string Status { get; set; }
    
            [JsonProperty("price")]
            public string Price { get; set; }
    
            [JsonProperty("price_date")]
            public DateTimeOffset PriceDate { get; set; }
    
            [JsonProperty("price_timestamp")]
            public DateTimeOffset PriceTimestamp { get; set; }
    
            [JsonProperty("circulating_supply")]
            public long CirculatingSupply { get; set; }
    
            [JsonProperty("max_supply")]
            public long MaxSupply { get; set; }
    
            [JsonProperty("market_cap")]
            public string MarketCap { get; set; }
    
            [JsonProperty("market_cap_dominance")]
            public string MarketCapDominance { get; set; }
    
            [JsonProperty("num_exchanges")]
        
            public long NumExchanges { get; set; }
    
            [JsonProperty("num_pairs")]
            
            public long NumPairs { get; set; }
    
            [JsonProperty("num_pairs_unmapped")]
            public long NumPairsUnmapped { get; set; }
    
            [JsonProperty("first_candle")]
            public DateTimeOffset FirstCandle { get; set; }
    
            [JsonProperty("first_trade")]
            public DateTimeOffset FirstTrade { get; set; }
    
            [JsonProperty("first_order_book")]
            public DateTimeOffset FirstOrderBook { get; set; }
    
            [JsonProperty("rank")]
            public long Rank { get; set; }
    
            [JsonProperty("high")]
            public string High { get; set; }
    
            [JsonProperty("high_timestamp")]
            public DateTimeOffset HighTimestamp { get; set; }
    }
    
    public partial class One
    {
        [JsonProperty("volume")]
        public string Volume { get; set; }
    
           [JsonProperty("price_change")]
            public string PriceChange { get; set; }
    
            [JsonProperty("price_change_pct")]
            public string PriceChangePct { get; set; }
    
            [JsonProperty("volume_change")]
            public string VolumeChange { get; set; }
    
            [JsonProperty("volume_change_pct")]
            public string VolumeChangePct { get; set; }
    
            [JsonProperty("market_cap_change")]
            public string MarketCapChange { get; set; }
    
            [JsonProperty("market_cap_change_pct")]
            public string MarketCapChangePct { get; set; }
        }
    
    Login or Signup to reply.
Please signup or login to give your own answer.
Back To Top
Search