C# - 更改使用HttpClient发布的属性名称

时间:2015-11-19 21:39:59

标签: c# asp.net .net dotnet-httpclient

我正在使用HttpClient将一些数据发布到基于NodeJs的服务器上。

Class Employee
{
      public string Name { get; set; }
}

功能代码:

Employee e = new Employee();
e.Name = "TestUser";
var client = new HttpClient();

var task = client.PostAsJsonAsync(urlTemplate, e);
var result = task.Result.Content.ReadAsStringAsync().Result;

节点应用程序需要名称为FirstName (instead of Name)

的属性

在WCF中,我们可以通过在其定义之上放置一个属性来更改DataMember的名称:

[DataMember(Name = "FirstName")]
public string Name  {   get;   set;  }

使用HttpClient发送数据时是否有类似选项?

2 个答案:

答案 0 :(得分:2)

一种选择是使用Newtonsoft.Json库。 你可以做你的模特课

Class Employee
{
      [JsonProperty(PropertyName = "FistName")]
      public string Name { get; set; }
}
在PUT / POST之前

,使用JsonConvert.SerializeXXXX函数将对象转换为字符串,并使用字符串内容作为HttpClient有效负载。

答案 1 :(得分:0)

您可以使用documentation中概述的JSON序列化属性。查看相关帖子:How can I change property names when serializing with Json.net?