我希望从通话中获取多个艺术家姓名,并将其放入列表框中。
我可以得到像这样的第一位艺术家:
string url = @"http://api.musixmatch.com/ws/1.1/artist.search?apikey=key&q_artist=LMFAO&format=json";
string content = new WebClient().DownloadString(url);
dynamic artistData = JObject.Parse(content);
string artistName = artistData.message.body.artist_list[0].artist.artist_name;
但我如何获得更多名称并将其放入列表框?
Here你可以看到json结果是怎样的
提前致谢
答案 0 :(得分:0)
你可以试试这样的事情
var artists = artistData.message.body.artist_list.Select(x => x.artist);
foreach (var artist in artists)
{
var artistName = artist.artist_name;
listBox.Items.Add(new ListBoxItem(artistName , artistName));
}
答案 1 :(得分:0)
您好,您可以使用以下代码段获取名称列表
var artistNames = artistData.message.body.artist_list.Select(var=>var.artist.artist_name).ToList();
然后,您可以使用listbox.items.add函数调用或使用ItemsSource属性将此列表绑定到列表框
答案 2 :(得分:0)
感谢您试图帮助我,我真的很感激。我想我可以像这样解决我的问题:
var artistLength = artistData.message.body.artist_list.Count;
for (int i = 0; i < artistLength; i++)
{
var artistName = artistData.message.body.artist_list[i].artist.artist_name;
//printed in the console for testing
Console.WriteLine(artistName);
listBox1.Items.Add(artistName);
}