[英]Deserialize nested json objects using Json.Net returns null
I am getting the following nested Json objects from an API I am calling. 我从正在调用的API获取以下嵌套的Json对象。
{"status":"success","data":{"valid_for":3600,"token":"access_token","expires":1123123123123}}
The PostResponse class is like below PostResponse类如下所示
public class PostResponse
{
public string status { get; set; }
public Data data { get; set; }
}
public class Data
{
public int valid_for { get; set; }
public string token { get; set; }
public int expires { get; set; }
}
I get null for postResponse with this code. 我用此代码获得的postResponse为空。
using (StreamReader reader = new StreamReader(resp.GetResponseStream()))
{
Console.WriteLine(reader.ReadToEnd());
postResponse = JsonConvert.DeserializeObject<PostResponse>(reader.ReadToEnd());
}
You need to reset your stream pointer position, since you already read from a stream when you used WriteLine
method. 您需要重置流指针位置,因为在使用
WriteLine
方法时您已经从流中读取了。
Stream stream = resp.GetResponseStream();
using (StreamReader reader = new StreamReader(stream))
{
Console.WriteLine(reader.ReadToEnd());
stream.Position = 0; //Reset position pointer
reader.DiscardBufferedData();
postResponse = JsonConvert.DeserializeObject<PostResponse>(reader.ReadToEnd());
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.