1

我正在学习 C# 并想使用 Riot API。我只想收到:

    {  
   "type":"champion",
   "version":"6.1.1",
   "data":{  
      "Thresh":{  
         "id":412,
         "key":"Thresh",
         "name":"Thresh",
         "title":"the Chain Warden"
      },
      "Aatrox":{  
         "id":266,
         "key":"Aatrox",
         "name":"Aatrox",
         "title":"the Darkin Blade"
      },...

我在这里找到了这个:Deserialize JSON from Riot API C#

有人能帮我吗?我不知道该怎么做。

真诚的MasterR8

PS:我已经google了3个小时...

4

1 回答 1

1

如果你想获取 json 字符串试试这个,这需要一个 URL 并尝试执行请求并返回响应。您可以在 riot API 网站上提供的沙盒模式中找到该 url。

using System.Net;
using System.IO;
public string GET(string url)
    {
        HttpWebRequest request = (HttpWebRequest)WebRequest.Create(url);

        try
        {
            WebResponse response = request.GetResponse();
            using (Stream responseStream = response.GetResponseStream())
            {
                StreamReader reader = new StreamReader(responseStream, Encoding.UTF8);
                return reader.ReadToEnd();
            }
        }
        catch (WebException ex)
        {
            WebResponse errorResponse = ex.Response;
            using (Stream responseStream = errorResponse.GetResponseStream())
            {
                StreamReader reader = new StreamReader(responseStream, Encoding.GetEncoding("utf-8"));
                String errorText = reader.ReadToEnd();
            }
            throw;
        }
    }

这是最简单的部分:) 将响应映射到 POCO 是最让我烦恼的。如果有人读到这个并且有一个很好的解决方案请链接我。

于 2016-02-19T14:49:48.963 回答