JSON.Net - 反序列化 - 属性值中的下划线变为空间

时间:2018-01-05 06:48:14

标签: c# json.net

我有一个像这样的POCO对象 -

class User
{
     string FullName { get; set;}
     DateTime DOJ { get; set;}
     string UserName { get; set;}
}

我有一个WebAPI,它发送以下JSON来更新用户

PUT /user/{user-id}
{
    "FullName ": "My Name",
    "DOJ": "01-05-2018",
    "UserName": "My_user_Name"
}

// Deserialize in C# code
var user = JsonConvert.DeserializeObject<User>(Above-Json-String);

当我使用JSON.net apis反序列化这个json时,&#34; user.UserName&#34;的值是&#34;我的用户名&#34;,下划线被转换为空格。

在属性值中保留下划线的任何解决方案?

1 个答案:

答案 0 :(得分:1)

Jsonproperty可能会解决您的问题。

使用JsonProperty属性指示JSON中的名称。

[JsonProperty(PropertyName = "binding type")]
string FullName { get; set;}