Я категорически не согласен - WCF JSON обычно медленнее, чем WCF SOAP Binary. Размер провода - это всего лишь один из компонентов эффективности сериализации и десериализации. Другим важным компонентом является время обработки.
Внутренне DataContractJsonSerializer отображает пары имя / значение JSON в инфо-набор XML. Фактически, DataContractJsonSerializer построен поверх XML-DataContractSerializer и обрабатывает каждый вход JSON и вывод JSON, как если бы он имел дело с XML. Существует более высокий уровень абстракции (пишущий JSON и читатель JSON, предоставляемый через JsonReaderWriterFactory), который фактически переводит этот XML в JSON, а JSON обратно во внутренний XML.
Все эти дополнительные переводы между информационными наборами XML и JSON складываются. Не обманывайтесь только размерами. Посмотрите этот превосходный обзор (Отображение между JSON и XML) , чтобы увидеть, что происходит с DataContractJsonSerializer внутри и как это происходит.
Теперь вполне может оказаться, что в вашем сценарии JSON действительно быстрее, чем WCF. Но это может быть результатом конкретных типов данных, которые вы используете, и конкретных сценариев, в которых вы вызываете эти типы данных. Вы ДОЛЖНЫ измерить свои собственные наборы данных - не читайте случайных советов в Интернете по поводу перфектов, в том числе и мой. Доверьтесь своим номерам!