У меня есть то, что должно быть относительно простым вопросом, на который я не могу найти ответа.
Когда WCF выполняет сериализацию объектов, он автоматически применяет Type Hinting. Для служб Json это приводит к дополнительному полю для каждого сложного объекта с именем __type
. Объект, определенный как:
[DataContract]
public class SomeObject
{
[DataMember]
public string First { get; set; }
[DataMember]
public string Last { get; set; }
}
Будет сериализован примерно так:
{
"First" : "Hello",
"Last" : "World!",
"__type" : "SomeObject#MyNamespace.SomeObject"
}
Обычно это не проблема. К сожалению, когда вы начинаете вкладывать классы в довольно большие и сложные структуры, это приводит к тонне накладных расходов в размере ответа JSON, возвращаемого клиенту.
Конечно, должен быть способ отключить это поведение, но я не смог его найти (ни Rick Strahl еще в 2007 году... но это 2010, и я надеюсь, что кто-то это понял).