在大多数情况下,除了我添加的最后一个属性外,我的JSON反序列化似乎都可以正常工作。我有以下JSON字符串。如果我将类属性类型保留为属性httpVerb的字符串,则反序列化可以正常工作。但是,如果我为属性httpVerb保留类属性类型为System.Net.HttpMethod,则反序列化将失败。我真的不喜欢创建另一个枚举,因为HttpMethod类中已经定义了HTTP动词。
有人可以帮忙吗?
{
"httpTest": {
"ignoreCertificateErrors": false,
"successHTTPStatusCodes": [ 200 ],
"httpVerb": "GET"
}
}
public class HttpTest
{
public bool ignoreCertificateErrors { get; set; }
public List<HttpStatusCode> successHTTPStatusCodes { get; set; }
public HttpMethod httpVerb { get; set; }
}
public class RootObject
{
public HttpTest httpTest { get; set; }
}
您必须将json动词反序列化为字符串。也就是说,您可以返回相应的HttpMethod实例,以通过添加另一个属性来保留强类型。
public class HttpTest
{
public bool ignoreCertificateErrors { get; set; }
public List<HttpStatusCode> successHTTPStatusCodes { get; set; }
public string httpVerb { get; set; }
public HttpMethod HttpMethodInstance {
get { return new HttpMethod(httpVerb); }
}
}
如果您的动词是有效动词,则可以使用它实例化HttpMethod的新实例。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句