我在包含字段名称中包含点的JSON字符串上使用了内置的Visual Studio菜单选项“选择性粘贴-> JSON粘贴为类”。 (例如:System.Title)。
生成的类具有从类的属性名称中删除的点(可以理解)(在上面的示例中,System.Title = SystemTitle)。 这是我尝试反序列化的JSON示例的摘录(来自Microsoft TFS REST API):
{
"id": 27736,
"rev": 6,
"fields": {
"System.WorkItemType": "Test Case",
"System.State": "Ready",
"System.Reason": "Completed",
"System.Title": "EFCValuesTest_DenomNotPresent",
"Microsoft.VSTS.Common.StateChangeDate": "2019-02-14T21:15:37.627Z",
"Microsoft.VSTS.Common.ActivatedDate": "2019-01-25T20:25:52.743Z",
"Microsoft.VSTS.Common.Priority": 4,
},
},
请注意,尽管使用了CamelCase,但也有点(。)名称分隔符。
当我尝试将字段JSON段反序列化为类对象时,不会提取值。但是,如果我将PropertyName设置为带有[JsonProperty(PropertyName =“ System.Title”)]之类的点的名称的JsonProperty属性,则Json.NET可以解析该名称并在反序列化时分配正确的值。>
是否可以让Json.NET自动执行此名称查找转换,而不必将JsonProperty分配给与名称中带有点的字段相关联的所有类属性?