c# - JSON解析和检索字符串
问题描述
我正在尝试从https://api.github.com/repos/MyBotRun/MyBot/releases/latestbrowser_download_url
的 JSON 中获取元素来打印
它不会打印 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);
}
解决方案
Asset
您链接的 URL 中的 JSON 与您尝试反序列化到的类不匹配。
我建议使用quicktype.io 之类的工具并将您的 JSON 粘贴到那里,它会为您生成 C# 类。
复制该示例类后,您可以使用以下代码:
var asset = Asset.FromJson(json);
Console.WriteLine(asset.AssetElement[0].BrowserDownloadUrl);
推荐阅读
- c# - 对 C# 中的返回方法和 void 感到困惑
- laravel - 如何为 spatie/laravel-permission 合同/权限制作包装器?
- redux - 在执行第二个 Saga 动作之前执行第一个 Saga 的所有动作
- javascript - 从 setTimeout 调用的函数显示不正确的 React 状态
- python - 从嵌套的 JSON 列表中绘制图表
- javascript - 倒数计时器中的 setInterval 在第一轮后被执行多次
- mongodb - MongoDB 两个 $mulitply 在一个聚合中
- python - 如果在输入中写入内容时单击按钮后显示数据,我该如何解析数据
- azure-devops - 通过 Azure Devops 用于 MDS 的 CICD
- html - 我对 CKEDITOR 4.6.2 的风格有问题