在 WinForms 中使用 HttpClient:我可以使用与 Web API 中相似的模型绑定来解析 JSON 结果吗

using HttpClient in WinForms: can I parse JSON result using similar model binding as found in Web API

我想我正在尝试与 Web API 交互,就好像现在是 SOAP Web 服务的时代 xml.. 在与服务器通过 HTTP。我不期待使用 JSON.NET 走 JSON 响应,但是,如果必须的话,我会的。

所以.. 众所周知(我们所有人 ASP.NET web 开发人员)- 我们可以使用 Web API(和 Web API 2 等)简单地 POST 一些 JSON 到 api 控制器和模型绑定(错误.. parameter binding?)能够将其解析为我首选的 CLR 对象。

假设我现在有一个 WinForms 客户端想要与我喜欢的 Web API 服务器进行交互 - 我想我应该使用 HttpClient 与该 Web API 通信

是否有与 Web API 交互以从中获取 CLR 对象的首选方法?我想我要从中得到 JSON 然后我必须绑定到一个 CLR 对象......这是我的主要问题......我怎样才能对 CLR-from-JSON 在我的客户端上,当我将 JSON 发布到服务器时,我看到发生了这种情况。


更新


我第一次写这个问题时没有想到的关键术语是 'deserialize'.. 现在我发现结果像 JsonConvert.DeserializeObject<MyObj>(json); and System.Web.Script.Serialization.JavaScriptSerializer

仍然好奇是否有偏好 -

您可以(尝试)读取 HttpClient 的响应内容作为任何对象。 这是一个示例方法

public async Task<List<GroupListViewRow>> ListAccountGroupAsync(Guid ledgerId) {
        var response = await this.http.GetAsync($"v1/group/list?ledgerId={ledgerId}");
        response.EnsureSuccessStatusCode();
        var res = await response.Content.ReadAsAsync<List<GroupListViewRow>>();
        return res;
    }

这个正在阅读回复,就好像它是 List<GroupListViewRow>