Wcf Json.net无法反序列化复杂类型列表
我使用json.net在IIS托管的restful服务中执行json反序列化处理 首先,这里是我尝试使用的对象Wcf Json.net无法反序列化复杂类型列表,wcf,json.net,wcf-rest,Wcf,Json.net,Wcf Rest,我使用json.net在IIS托管的restful服务中执行json反序列化处理 首先,这里是我尝试使用的对象 [DataContract] public class CreateSamplesRequest { [DataMember] public Guid SessionId { get; set; } [DataMember] public SampleTemplateDTO Template { get; set; } } [DataContract] public c
[DataContract]
public class CreateSamplesRequest
{
[DataMember] public Guid SessionId { get; set; }
[DataMember] public SampleTemplateDTO Template { get; set; }
}
[DataContract]
public class SampleTemplateDTO
{
[DataMember] public int NumberOfSamples { get; set; }
[DataMember] public int CompanyId { get; set; }
[DataMember] public int SampleTypeId { get; set; }
[DataMember] public HmisDTO Hmis { get; set; }
[DataMember] public List<AttributeValueDTO> AttributeValues { get; set; }
}
[DataContract]
public class AttributeValueDTO
{
[DataMember] public int AttributeId { get; set; }
[DataMember] public string AttributeName { get; set; }
[DataMember] public string Value { get; set; }
}
[DataContract]
public class HmisDTO
{
[DataMember] public string Health { get; set; }
[DataMember] public string Flammability { get; set; }
[DataMember] public string Reactivity { get; set; }
[DataMember] public string Equipment { get; set; }
}
这就是我实际发送的内容:
{
"SessionId":"17aaec11-be28-4536-b5df-d98fbda91e91",
"Template":{
"NumberOfSamples":1,
"CompanyId":1,
"SampleTypeId":9,
"Hmis":{
"Health":"2",
"Flammability":"0",
"Reactivity":"0",
"Equipment":"E",
},
"AttributeValues":[
{"AttributeId":1,"AttributeName":"Item No.","Value":"MN0002NG"},
{"AttributeId":2,"AttributeName":"Lot No.","Value":"C4526"}
]
}
}
我遇到的问题是SampleTemplateDTO对象的AttributeValues属性总是被忽略。使用上述代码,它将为空。如果我将它实例化为一个空的列表
,它将是一个空列表。几个小时来,我一直在用头撞这个
我尝试过创建一个只需要
列表
的服务,效果很好。我尝试过为AttributeValue创建一个包装器类,结果仍然是null。我完全被难住了。有什么想法吗?上帝之母,我在一个奇怪的逗号上浪费了5个小时。HMIS部分中的尾随逗号显然是在告诉json.net此时停止解析
当我提交此json时:
{
"SessionId":"17aaec11-be28-4536-b5df-d98fbda91e91",
"Template":{
"NumberOfSamples":1,
"CompanyId":1,
"SampleTypeId":9,
"Hmis":{
"Health":"2",
"Flammability":"0",
"Reactivity":"0",
"Equipment":"E"
},
"AttributeValues":[
{"AttributeId":1,"AttributeName":"Item No.","Value":"MN0002NG"},
{"AttributeId":2,"AttributeName":"Lot No.","Value":"C4526"}
]
}
}
一切都很好
{
"SessionId":"17aaec11-be28-4536-b5df-d98fbda91e91",
"Template":{
"NumberOfSamples":1,
"CompanyId":1,
"SampleTypeId":9,
"Hmis":{
"Health":"2",
"Flammability":"0",
"Reactivity":"0",
"Equipment":"E"
},
"AttributeValues":[
{"AttributeId":1,"AttributeName":"Item No.","Value":"MN0002NG"},
{"AttributeId":2,"AttributeName":"Lot No.","Value":"C4526"}
]
}
}