【发布时间】:2023-04-04 08:30:01
【问题描述】:
我正在研究 Coinpayment.net api 实施。我正在尝试使用 GetExchangeRate 方法获取 CoinExhange 汇率,但我无法解析响应。我想获取所有硬币汇率的列表,但我不知道我可以使用哪个响应类以及如何获取响应列表。 以下是我尝试的实现。
string result = string.Empty;
using (HttpClient client = new HttpClient())
{
client.BaseAddress = new Uri(_ApiReferenceLink);
var response = await client.GetAsync("GetExchangeRates");
if (response.IsSuccessStatusCode)
{
result = response.Content.ReadAsStringAsync().Result;
ExchangeRatesResponse datalist = JsonConvert.DeserializeObject<ExchangeRatesResponse>(result);
return Json(new { Message = "Your Transaction Has Been Completed Successfully!" }, JsonRequestBehavior.AllowGet);
}
else
{
return Json(new { ErrorMessage = "Your Transaction Has Not Been Completed. Try Again Later!" }, JsonRequestBehavior.AllowGet);
}
}
上面的代码dint给了我对象的响应,以便我可以循环并获得所需的硬币价格。
这是 api 将返回给我的响应,我想将其转换为对象,以便我可以使用对象访问它。
{
"error": "ok",
"result": {
"BTC": {
"is_fiat": 0,
"rate_btc": "1.000000000000000000000000",
"last_update": "1375473661",
"tx_fee": "0.00100000",
"status": "online",
"name": "Bitcoin",
"confirms": "2",
"capabilities": [
"payments",
"wallet",
"transfers",
"convert"
]
},
"LTC": {
"is_fiat": 0,
"rate_btc": "0.018343387500000000000000",
"last_update": "1518463609",
"tx_fee": "0.00100000",
"status": "online",
"name": "Litecoin",
"confirms": "3",
"capabilities": [
"payments",
"wallet",
"transfers",
"convert"
]
},
"USD": {
"is_fiat": 1,
"rate_btc": "0.000114884285404190000000",
"last_update": "1518463609",
"tx_fee": "0.00000000",
"status": "online",
"name": "United States Dollar",
"confirms": "1",
"capabilities": []
},
"CAD": {
"is_fiat": 1,
"rate_btc": "0.000091601308947890000000",
"last_update": "1518463609",
"tx_fee": "0.00000000",
"status": "online",
"name": "Canadian Dollar",
"confirms": "1",
"capabilities": []
},
"MAID": {
"is_fiat": 0,
"rate_btc": "0.000049810000000000000000",
"last_update": "1518463609",
"tx_fee": "0.00000000",
"status": "online",
"name": "MaidSafeCoin",
"confirms": "2",
"capabilities": [
"payments",
"wallet"
]
},
"XMR": {
"is_fiat": 0,
"rate_btc": "0.028198593333333000000000",
"last_update": "1518463609",
"tx_fee": "0.01000000",
"status": "online",
"name": "Monero",
"confirms": "3",
"capabilities": [
"payments",
"wallet",
"transfers",
"dest_tag"
]
},
"LTCT": {
"is_fiat": 0,
"rate_btc": "1.000000000000000000000000",
"last_update": "1375473661",
"tx_fee": "0.00100000",
"status": "online",
"name": "Litecoin Testnet",
"confirms": "0",
"capabilities": [
"payments",
"wallet",
"transfers"
]
}
}
}
我使用的响应对象类是:
public class ExchangeRatesResponse
{
public List<ExchangeRateItem> ItemsList { get; set; }
}
public class ExchangeRateItem
{
public string is_fiat { get; set; }
public decimal rate_btc { get; set; }
public int last_update { get; set; }
public string name { get; set; }
public int Confirms { get; set; }
}
任何帮助将不胜感激。 谢谢
【问题讨论】:
-
“无法”是什么意思?你的代码出了什么问题?
ExchangeRatesResponse是什么?它是您自己的自定义对象吗? -
是的,我尝试添加自己的自定义类,但效果不错。
-
@ADyson 我只想获得完整的响应列表,但我无法将 json 响应转换为对象格式
-
请找人校对您的问题 (for reasons outlined here)。
-
我不是在谈论技术方面的问题,我是在谈论几乎每个第二个单词出现的数量惊人的拼写错误、标点错误和大写错误。
标签: c# json asp.net-mvc json.net