Я пишу автоматизацию тестирования для веб-службы RESTful (полезной нагрузки JSON) в .NET и хотел бы проверить, что отправленные мне объекты имеют точно полей в определяемом мной DTO, не более илиМеньше.
Однако, похоже, что метод сериализации, который я использую (System.Web.Script.Serialization), не возражает, когда типы объектов не совпадают.
private class Dog
{
public string name;
}
private class Cat
{
public int legs;
}
static void Main(string[] args)
{
var dog = new Dog {name = "Fido"};
var serializer = new JavaScriptSerializer();
String jsonString = serializer.Serialize(dog);
var deserializer = new JavaScriptSerializer();
Cat cat = (Cat)deserializer.Deserialize(jsonString, typeof(Cat));
//No Exception Thrown! Cat has 0 legs.
}
Есть лиБиблиотека сериализации .NET, которая поддерживает это требование?Другие подходы?