C# JSO序列化streamreader

C# JSO序列化streamreader,c#,json,api,deserialization,webrequest,C#,Json,Api,Deserialization,Webrequest,我正在尝试反序列化一个streamreader(来自webRequest的源代码),然后将json数据发送到一个对象,但是Objet从未获得数据 WebRequest req = WebRequest.Create("API REQUEST HERE"); WebResponse responde = req.GetResponse(); StreamReader rd = new StreamReader(responde.GetRes

我正在尝试反序列化一个streamreader(来自webRequest的源代码),然后将json数据发送到一个对象,但是Objet从未获得数据

            WebRequest req = WebRequest.Create("API REQUEST HERE");
        WebResponse responde = req.GetResponse();

        StreamReader rd = new StreamReader(responde.GetResponseStream(), Encoding.ASCII);

        Summoner summo = new Summoner();
        JsonSerializer serializer = new JsonSerializer();
        JsonTextReader textrd = new JsonTextReader(rd);

        summo = serializer.Deserialize<Summoner>(textrd);
        summo.Ver();


        Console.ReadKey();
而召唤师是

    public class Summoner
{

        public int id { get; set; }
        public string name { get; set; }
        public int profileIconId { get; set; }
        public int summonerLevel { get; set; }
        public long revisionDate { get; set; }


    public void Ver()
    {
        Console.WriteLine(this.id);
        Console.WriteLine(this.name);
        Console.WriteLine(this.profileIconId);
        Console.WriteLine(this.revisionDate);
        Console.WriteLine(this.summonerLevel);

    }
}

问题是JSON中有一个额外的层,一个名为amarasul的对象,它没有被处理

如果你改变你的召唤师等级,如下所示,它应该可以正常工作:

using System;

public class Summoner
{
    public Amarasul amarasul { get; set; }

    public void Ver()
    {
        Console.WriteLine(amarasul.id);
        Console.WriteLine(amarasul.name);
        Console.WriteLine(amarasul.profileIconId);
        Console.WriteLine(amarasul.revisionDate);
        Console.WriteLine(amarasul.summonerLevel);
    }
}

public class Amarasul
{
    public int id { get; set; }
    public string name { get; set; }
    public int profileIconId { get; set; }
    public int summonerLevel { get; set; }
    public long revisionDate { get; set; }
}

首先-检查响应状态代码。它可能会失败。您应该收到状态代码200我应该写(int)responde.StatusCode吗?因为它不工作,请发布一个JSON示例和召唤器类完成,谢谢我忘了
using System;

public class Summoner
{
    public Amarasul amarasul { get; set; }

    public void Ver()
    {
        Console.WriteLine(amarasul.id);
        Console.WriteLine(amarasul.name);
        Console.WriteLine(amarasul.profileIconId);
        Console.WriteLine(amarasul.revisionDate);
        Console.WriteLine(amarasul.summonerLevel);
    }
}

public class Amarasul
{
    public int id { get; set; }
    public string name { get; set; }
    public int profileIconId { get; set; }
    public int summonerLevel { get; set; }
    public long revisionDate { get; set; }
}