Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/339.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 如何从API获取值?_C#_.net_Asp.net Web Api - Fatal编程技术网

C# 如何从API获取值?

C# 如何从API获取值?,c#,.net,asp.net-web-api,C#,.net,Asp.net Web Api,我为这篇文章道歉,因为它对一些人来说可能是陈词滥调。但我想了解GetAPI的操作,不幸的是,我还没有找到一个可访问的教程。作为从示例中学习的最佳方法,谁能告诉我如何以最简单的方式从name标记中获取值?最多可以是文本框 在xml中: 在json中: 代码 提前感谢您的帮助。为了正确反序列化JSON字符串,您缺少了各种类。试试看: public class Results { public string id { get; set; } public

我为这篇文章道歉,因为它对一些人来说可能是陈词滥调。但我想了解GetAPI的操作,不幸的是,我还没有找到一个可访问的教程。作为从示例中学习的最佳方法,谁能告诉我如何以最简单的方式从name标记中获取值?最多可以是文本框

在xml中:

在json中:

代码


提前感谢您的帮助。

为了正确反序列化JSON字符串,您缺少了各种类。试试看:

    public class Results
    {
        public string id { get; set; }
        public string name { get; set; }
        public bool hasVariables { get; set; }
        public List<string> children { get; set; }
        public string levels { get; set; }
    }

    public class Links
    {
        public string first { get; set; }
        public string self { get; set; }
        public string next { get; set; }
        public string last { get; set; }
    }

    public class JsonObject
    {
        public int totalRecords { get; set; }
        public int page { get; set; }
        public int pageSize { get; set; }
        public Links links { get; set; }
        public List<Results> results { get; set; }
    }
然后使用类似于:

using (WebClient wc = new WebClient())
{
   var json = wc.DownloadString("https://bdl.stat.gov.pl/api/v1/subjects?lang=pl&format=json");
  JsonObject result = JsonConvert.DeserializeObject<JsonObject>(json);
  foreach (var res in result.results)
  {
    MessageBox.Show(res.name);
  }
}

在web上搜索C parse JSON或C parse XML,并尝试解决此问题。我已在原始帖子中添加了代码,供将来参考。请理解如何询问问题。最好的学习方法是查看使用WebClient或HttpClient`调用Web API的示例,然后查看将JSON字符串从字符串转换为对象表示的反序列化示例。
using (WebClient wc = new WebClient())
{
   var json = wc.DownloadString("https://bdl.stat.gov.pl/api/v1/subjects?lang=pl&format=json");
  JsonObject result = JsonConvert.DeserializeObject<JsonObject>(json);
  foreach (var res in result.results)
  {
    MessageBox.Show(res.name);
  }
}