我有一个从bank API下载JSON的问题。我在做自动取款机。
private void get_response()
{
WebClient wp = new WebClient();
string url = "http://api.nbp.pl/api/exchangerates/tables/a/?format=json";
var response = wp.DownloadString(url);
var jsonData = System.Text.Json.JsonSerializer.Deserialize<List<Rootobject>>(response);
Console.WriteLine(jsonData[0].rates.ToString());//ATM.Rates+Rate[]
Console.WriteLine(jsonData[0].rates[1].currency.ToString());//USD Dolar
get_data(response);
}
我找了很多,但我没有找到我的问题的答案。我只需要使用List,但我不知道如何使用它并将其再次转换为json,只知道rates表。我的班级:
public class Rootobject
{
public Class1[] Property1 { get; set; }
}
public class Class1
{
public string table { get; set; }
public string no { get; set; }
public string effectiveDate { get; set; }
public Rate[] rates { get; set; }
}
public class Rate
{
public string currency { get; set; }
public string code { get; set; }
public float mid { get; set; }
}
我需要在我的应用程序中显示率表,但我不知道如何在JSON字符串中输入率值,因为当我显示响应时,这会发生。
private void get_data(string response)
{
dataGridView.Rows.Clear();
DataTable dataTable = (DataTable)JsonConvert.DeserializeObject(response, (typeof(DataTable)));
dataGridView.DataSource = dataTable;
}
json是:
[
{
"table": "A",
"no": "083/A/NBP/2021",
"effectiveDate": "2021-04-30",
"rates": [
{
"currency": "bat (Tajlandia)",
"code": "THB",
"mid": 0.1211
},
{
"currency": "dolar amerykański",
"code": "USD",
"mid": 3.7746
},
(...)
}
]
它是一个包含单个对象的数组。下面是我的映射:
public class RateData
{
public List<Rate> Rates {get; set;}
}
public class Rate
{
public string Currency { get;set;}
public string Code {get; set;}
public decimal Mid {get; set;}
}
测试代码:
var options = new JsonSerializerOptions {
PropertyNameCaseInsensitive = true
};
var list = JsonSerializer.Deserialize<List<RateData>>(json, options);
var single = list.Single(); // throws if there are more
foreach(var rate in single.Rates)
{
Console.WriteLine($"{rate.Currency}, {rate.Code}, {rate.Mid}");
}
输出:
bat (Tajlandia), THB, 0.1211
dolar amerykański, USD, 3.7746
dolar australijski, AUD, 2.9323
dolar Hongkongu, HKD, 0.4862
...
如何将列表转换为DataTable
但我认为这可能行得通:
dataGridView.DataSource = single.Rates;
如果不是,那么我认为这是可行的:
var data = single.Rates
.Select( r => new {
Currency = r.Currency,
Code = r.Code,
Mid = r.Mid
});
dataGridView.DataSource = data;
(基于绑定对象DataGridView C#)
它在RESTSharp中返回的JSON如下所示。 如何在result下创建所有键的C#列表或数组?我不能用JSON.NET序列化对象,因为随着时间的推移,可能会添加额外的键。
问题内容: 我的API控制器返回的是csv文件,如下所示: 我的angularjs将发送和接收csv文件如下所示: 在chrome中,它将下载一个名为,但没有文件扩展名的文件。该文件的内容为。 在IE10中,没有下载任何内容。 我该怎么做才能解决此问题? 问题答案: 像这样尝试:
问题内容: 是否有一个很好的示例显示如何查询服务器并下载响应(JSON或XML)? 问题答案: 这应该可以解决问题
我想下载json-lib-2.3-jdk15.jar。我发现常春藤没有分类器标记,所以我使用maven标记,下面是常春藤xml 和ivysetting.xml 但我仍然无法下载。似乎m:分类器不起作用。对此有什么建议吗?谢谢 我终于找到了根本原因。我不应该使用 我应该使用 另一件事,在我的例子中,我在“artifact”标记中添加了“conf”distribute,这将导致jar下载失败。所以不要
本文向大家介绍WPF中引入WindowsForms控件的方法,包括了WPF中引入WindowsForms控件的方法的使用技巧和注意事项,需要的朋友参考一下 本文实例讲述了WPF中引入WindowsForms控件的方法。分享给大家供大家参考,具体如下: 环境: [1]WindowsXP with SP3 [2]VS2008 with SP1 正文: Step1:在现有工程中引入Windows For