如何使用URL中的JSON数组元素填充组合框?

时间:2015-11-21 14:03:04

标签: c# json

我想从THIS JSON数组中获取所有元素,并用它们填充comboBox1。这是组合框在填充时的样子的图片

enter image description here

我怎么能这样做呢?

我不是要求任何人编写代码并简单地将其交给我。如果可能的话,我想知道所有代码的工作原理。我对C#非常不熟练,也是JSON的初学者。

1 个答案:

答案 0 :(得分:0)

您可以尝试使用Microsoft.Net.Http.HttpClient获取值。使用Json.NET(Newtonsoft.Json)将响应反序列化为字符串枚举(IEnumerable<string>)。

然后将组合框的DataSource属性设置为此枚举的值(myCombobox.DataSource = myEnumeration;)。这应该可以解决问题。

根据要求,参考代码:

public partial class Form1 : Form
{
    public Form1()
    {
        InitializeComponent();
    }

    private async void Form1_Load(object sender, EventArgs e)
    {
        using (var client = new HttpClient())
        {
            var response = await client.GetAsync("https://ddragon.leagueoflegends.com/api/versions.json");
            var json = await response.Content.ReadAsStringAsync();
            comboBox1.DataSource = JsonConvert.DeserializeObject<IEnumerable<string>>(json);
        }
    }
}