簡體   English   中英

使用Json.Net反序列化嵌套的json對象返回null

[英]Deserialize nested json objects using Json.Net returns null

我從正在調用的API獲取以下嵌套的Json對象。

{"status":"success","data":{"valid_for":3600,"token":"access_token","expires":1123123123123}}

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; }
}

我用此代碼獲得的postResponse為空。

using (StreamReader reader = new StreamReader(resp.GetResponseStream()))
{
     Console.WriteLine(reader.ReadToEnd());
     postResponse = JsonConvert.DeserializeObject<PostResponse>(reader.ReadToEnd());
}

您需要重置流指針位置,因為在使用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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM