我正在c#中测试一些api调用,并获得以下JSON响应:
{
"message": "The request is invalid. Model validation failed.",
"validationErrors": {
"": {
"reasons": [
"A customer must be added to the order before it can be placed."
]
}
}
}我想将这个响应映射到一个带有JSON反序列化器的类,并且我无法控制响应是如何形成的。如何处理validationErrors中的空字段,以便仍然可以访问对象中的原因列表?
注意:当我在json2csharp中运行它时,它为validationErrors类中的字段提供了一个不太有用的映射。
public __invalid_type__ __invalid_name__ {get;set;}发布于 2016-04-21 22:34:09
反序列化为Dictionary<string, ValidationError>
public class ValidationError
{
public List<string> reasons { get; set; }
}
public class RootObject
{
public string message { get; set; }
public Dictionary<string, ValidationError> validationErrors { get; set; }
}这将与Javascript序列化程序和json.net开箱即用.如果使用的是DataContractJsonSerializer (标记为datacontractjsonserialize序列化),则需要设置DataContractJsonSerializer.UseSimpleDictionaryFormat = true (仅限.Net 4.5及以上)。
https://stackoverflow.com/questions/36781486
复制相似问题