c# - JSON.Net - 反序列化 - 属性值中的下划线变成空格

标签 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 api 反序列化此 json 时,“user.UserName”的值为“我的用户名”,下划线被转换为空格。

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

最佳答案

Jsonproperty 可能会解决您提出的问题。

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

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

关于c# - JSON.Net - 反序列化 - 属性值中的下划线变成空格,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48108543/

相关文章:

c# - 为什么我的模型属性在尝试 POST 时为空?

c# - 在使用 JSON.NET 反序列化之前从 JSON 中删除非法字符

c# - 使用 asp.net web.api json 不工作

c# - XAML 中的通用 IValueConverter C# WPF 用法?

c# - 双向链表到 JSON

javascript - 生成数组数组

C#、JSON 解析、动态变量。如何检查类型?

c# - DateTime.ParseExact 根本不起作用,为什么?

c# - 同时存在 Oracle 连接和 TCP 客户端/服务器连接

c# - 获取路径的最后一个字段?