В обсуждении WCF вы говорите о DTO. Было бы справедливо сказать, что если сериализация отличается, то это не то же самое DTO , поскольку вся цель DTO - разрешить соответствующую сериализацию. Поэтому мой ответ будет таким: иметь несколько параллельных классов DTO, представляющих потребности различных API, и выполнять перевод между ними.
Вы могли бы иметь возможность творить чудеса, указав сериализатор в runine, но это более хрупко и сложно настроить.