使用匿名类型作为正文的简单HTTP POST

时间:2013-10-08 15:30:09

标签: c# json webclient anonymous-types dotnet-httpclient

我真的找不到一个有效的例子,也许是因为它根本不可能?

我想采用C#匿名类型对象,如下所示:

var postBody = new
{
   friend = new 
   {
      name = "dave",
      last ="franz"
   },
   id = "12345",
   login = "mylogin" 
};

并使用以下帖子正文在一个简单的http POST中将其发布到我的Web服务:

{
   "friend" :
   {
      "name" : "dave",
      "last" : "franz"
   },
   "id" : "12345",
   "login" : "mylogin" 
};

1 个答案:

答案 0 :(得分:4)

使用Json.net非常简单。您可以使用VS中的nuget包管理器获取它。

var postBody = new
{
   friend = new 
   {
      name = "dave",
      last ="franz"
   },
   id = "12345",
   login = "mylogin" 
};
var postString = Newtonsoft.Json.JsonConvert.SerializeObject(postBody);
using(var wc = new WebClient())
{
    wc.Headers.Add("Content-Type", "application/json");
    var responseString = wc.UploadString(serviceAddress, "POST", postString);
}