JSON解析并检索字符串

时间:2019-06-11 23:51:30

标签: c# json.net downloadstring

我正在尝试从https://api.github.com/repos/MyBotRun/MyBot/releases/latest的JSON获取要打印browser_download_url的元素

它不会打印browser_download_url

public class Asset
{
 public string browser_download_url { get; set; }
}


wc.Headers.Add("User-Agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/74.0.3729.169 Safari/537.36Accept");             
var json = wc.DownloadString(@"https://api.github.com/repos/MyBotRun/MyBot/releases/latest");
if (json.Contains("browser_download_url"))
{
  Asset asset = JsonConvert.DeserializeObject<Asset>(json);
  Console.WriteLine(asset.browser_download_url);
}

1 个答案:

答案 0 :(得分:2)

您链接的URL中的JSON与您要反序列化的Asset类不匹配。

我建议您使用quicktype.io之类的工具,然后将JSON粘贴到其中,它将为您生成C#类。

复制该示例类后,您可以使用以下代码:

var asset = Asset.FromJson(json);

Console.WriteLine(asset.AssetElement[0].BrowserDownloadUrl);