Json.Net 从驼峰表示法反序列化为标准 .Net 属性表示法(无属性)

本文关键字:属性 表示 Net 标准 Json 反序列化 | 更新日期: 2023-09-27 18:33:48

我正在接收序列化的 Json,其中所有字段都使用驼峰表示法命名,例如:

"removeExecutedAfter":"2013-09-29T00:00:00.000+04:00"}

我想使用标准表示法将此 Json 反序列化为 .Net 属性,例如(正在使用 Json.Net):

Public DateTime RemoveExecutedAfter {get; set;}

我不想使用[JsonProperty(PropertyName="removeExecutedAfter")]属性,因为它是很多相当乏味的工作。

如何以这种方式控制 Json.Net 序列化/反序列化?

Json.Net 从驼峰表示法反序列化为标准 .Net 属性表示法(无属性)

默认情况下,

Json .NET 应不区分大小写。

以下黑客测试有效

public class Test
{
    public DateTime RemoveExecutedAfter {get; set;}
}

测试内容

var json = "{'"removeExecutedAfter'":'"2013-09-29T00:00:00.000+04:00'"}";
var jsonNetSerializer = JsonSerializer.Create();
var des = jsonNetSerializer.Deserialize<Test>(new JsonTextReader(new StringReader(json))); // RemoveExecutedAfter is set to the correct date