2017-04-09 18 views
1

我可以httpClient.PostAsJsonAsync(路徑,內容)的罰款JSON響應。如何結合來自httpClient.PostAsJsonAsync

然而,這個帖子返回一些JSON的響應,如細節: { 「的StatusCode」:200, 「AccessCode」: 「92BEEB285ZB47DA」, 「InternalMessage」:空}

我需要訪問訪問代碼。

我怎樣才能做到這一點簡潔高效?我可以創建這樣一個對象:

public class GIResponse 
{ 
    public string StatusCode { get; set; } 
    public string AccessCode { get; set; } 
    public string InternalMessage { get; set; } 
} 

並將其映射到結果呢?

或者我怎麼會只是遍歷JSON和拉出AccessCode?

我已經搜索相當廣泛,但令人驚訝的我找不到任何谷歌 - 也許因爲這是從郵政,不是得到的結果。

我該怎麼做?

回答

0

前提是你得到responseText使用httpResponse.Content.ReadAsStringAsync,您可以使用Json.NET的JObject並將其定義爲動態:

dynamic j = JObject.Parse(@"{""StatusCode"":200,""AccessCode"":""92BEEB285ZB47DA"",""InternalMessage"":null}"); 
Console.WriteLine(j.AccessCode); 

您也可以使用JsonConvert

var result = JsonConvert.Deserialize<MyModel>(resposeText); 

顯然,如果你已經有一個模型,你不看它作爲一個字符串,你可以簡單地把它讀作模型:

var result = httpResponse.Content.ReadAsAsync<MyModel>();