В зависимости от механизма сериализации ASP.NET Web API будет использовать другой сериализатор.В настоящее время в бета-версии JSON будет использоваться JavaScriptSerializer , а для XML используется XmlSerializer .Но есть свойство UseDataContractSerializer
в XmlMediaTypeFormatter , которое позволяет использовать тот же XML-сериализатор, что и в WCF (DataContractFormatter).
Я не думаю, чтоесть уникальный способ, просто украсив вашу модель некоторым атрибутом, чтобы заставить эти два сериализатора вести себя одинаково, если только вы не пишете какой-либо пользовательский форматер мультимедийного типа.Таким образом, одна возможность состоит в написании пользовательских форматеров для XML / JSON и замене используемого сериализатора на используемый в WCF.
Вот пример такого форматера, который использует JSON.Net для JSON.Вы можете адаптировать его так, чтобы он использовал DataContractJsonSerializer , который будет учитывать свойство EmitDefaultValue
.