我正在尝试使用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
,但我在这一步上被挂住了。
发布于 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);
发布于 2011-05-25 07:18:15
最简单的方法是使用StringContent
,它带有JSON对象的JSON表示。
httpClient.Post(
"",
new StringContent(
myObject.ToString(),
Encoding.UTF8,
"application/json"));
发布于 2015-08-11 07:08:31
根据您的.NET版本,您还可以使用HttpClientExtensions.PostAsJsonAsync
方法。
https://msdn.microsoft.com/en-us/library/system.net.http.httpclientextensions.postasjsonasync.aspx
https://stackoverflow.com/questions/6117101
复制相似问题