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!
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
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)Use the below if you are using
Newtonsoft
(Before .Net Core 3.0)Your " public OneHour OneHour { get; set; } " and " public OneDay OneDay { get; set; } " properties should be bind to [JsonProperty("1h")] and [JsonProperty("1d")]
try this
result
classes