【发布时间】:2015-08-18 06:55:31
【问题描述】:
我试图对流读取器(来自 webRequest 的源)进行反序列化,然后将该 json 数据插入到对象中,但对象永远不会获取数据。
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();
json 响应是
{"amarasul":{"id":5560607,"name":"amarasul","profileIconId":787,"summonerLevel":30,"revisionDate":1439893886000}}
summoner.cs 是
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);
}
}
【问题讨论】:
-
首先——检查响应状态码。它可能会失败。您应该收到状态码 200
-
我应该写 (int)responde.StatusCode 吗?导致它不工作
-
请发布示例 JSON 和 Summoner 类
-
完成了,谢谢我忘记了
标签: c# json api deserialization webrequest