首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >POSTing JsonObject与来自网络应用编程接口的HttpClient

POSTing JsonObject与来自网络应用编程接口的HttpClient
EN

Stack Overflow用户
提问于 2011-05-25 05:25:31
回答 7查看 449.7K关注 0票数 361

我正在尝试使用Web中的HttpClient发布一个JsonObject。我不太确定该怎么做,在示例代码中也找不到太多。

这是我到目前为止所知道的:

var myObject = (dynamic)new JsonObject();
myObject.Data = "some data";
myObject.Data2 = "some more data";

HttpClient httpClient = new HttpClient("myurl");
httpClient.DefaultRequestHeaders.Accept.Add(new MediaTypeWithQualityHeaderValue("application/json"));

HttpResponseMessage response = httpClient.Post("", ???);

我想我需要将我的JsonObject转换为StreamContent,但我在这一步上被挂住了。

EN

回答 7

Stack Overflow用户

回答已采纳

发布于 2016-09-09 22:45:01

使用新版本的HttpClient,而不使用WebApi包,它将是:

var content = new StringContent(jsonObject.ToString(), Encoding.UTF8, "application/json");
var result = client.PostAsync(url, content).Result;

或者如果你想要它async

var result = await client.PostAsync(url, content);
票数 571
EN

Stack Overflow用户

发布于 2011-05-25 07:18:15

最简单的方法是使用StringContent,它带有JSON对象的JSON表示。

httpClient.Post(
    "",
    new StringContent(
        myObject.ToString(),
        Encoding.UTF8,
        "application/json"));
票数 168
EN

Stack Overflow用户

发布于 2015-08-11 07:08:31

根据您的.NET版本,您还可以使用HttpClientExtensions.PostAsJsonAsync方法。

https://msdn.microsoft.com/en-us/library/system.net.http.httpclientextensions.postasjsonasync.aspx

票数 72
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/6117101

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档