首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >如何将对象传递给HttpClient.PostAsync并将其序列化为JSON体?

如何将对象传递给HttpClient.PostAsync并将其序列化为JSON体?
EN

Stack Overflow用户
提问于 2016-04-14 22:15:52
回答 6查看 273.2K关注 0票数 120

我正在使用System.Net.Http,我在网上找到了几个例子。我设法创建了用于发出POST请求的代码:

代码语言:javascript
复制
public static string POST(string resource, string token)
{
    using (var client = new HttpClient())
    {
        client.BaseAddress = new Uri(baseUri);
        client.DefaultRequestHeaders.Add("token", token);

        var content = new FormUrlEncodedContent(new[]
        {
             new KeyValuePair<string, string>("", "")
        });

        var result = client.PostAsync("", content).Result;
        string resultContent = result.Content.ReadAsStringAsync().Result;
        return resultContent;
    }
 }

一切运行正常。但是假设我想要向POST方法传递第三个参数,一个名为data的参数。数据参数是一个如下所示的对象:

代码语言:javascript
复制
object data = new
{
    name = "Foo",
    category = "article"
};

在不创建KeyValuePair的情况下如何做到这一点呢?我的php RestAPI等待json输入,所以FormUrlEncodedContent应该正确地发送raw json。但是我如何使用Microsoft.Net.Http做到这一点呢?谢谢。

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

https://stackoverflow.com/questions/36625881

复制
相关文章

相似问题

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