在Web API中使用HttpClient发布JsonObject?

内容来源于 Stack Overflow,并遵循CC BY-SA 3.0许可协议进行翻译与使用

  • 回答 (2)
  • 关注 (0)
  • 查看 (16)

我想从Web API使用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("", ???);

提问于
用户回答回答于

使用新版本的HttpClient并且没有WebApi包

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

或者,如果你想异步:

var result = await client.PostAsync(url, content);
用户回答回答于

最简单的方法是使用StringContent和JSON对象的JSON表示

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

扫码关注云+社区