簡體   English   中英

如何從httpClient.PostAsJsonAsync綁定JSON響應

[英]How to bind JSON response from httpClient.PostAsJsonAsync

我可以httpClient.PostAsJsonAsync(路徑,內容)罰款。

但是,這篇文章返回了一些帶有響應細節的JSON,例如:{“StatusCode”:200,“AccessCode”:“92BEEB285ZB47DA”,“InternalMessage”:null}

我需要訪問AccessCode。

如何干凈有效地完成這項工作? 我可以創建這樣的對象:

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

並將其映射到結果?

或者我將如何遍歷JSON並拔出AccessCode?

我搜索得非常廣泛,但令人驚訝的是我在Google上找不到任何東西 - 也許這是因為這是Post的結果,而不是Get。

我怎樣才能做到這一點?

如果使用httpResponse.Content.ReadAsStringAsync獲取responseText ,則可以使用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>();

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

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