Если это сторонний веб-сервис (т.е. не веб-сервис ServiceStack), чем я буду пытаться анализировать только один из их форматов, я лично предпочитаю JSON для лучшей устойчивости, если они меняют свой API. IMO - это проигрышное предложение, пытаясь поддерживать разные форматы с одной и той же моделью, они могут легко сломать его в любое время.
Что касается JSON Serializer в ServiceStack, то в последнем выпуске - свойства не чувствительны к регистру, и вы можете установить JsConfig.EmitCamelCaseNames=true
, чтобы он вместо этого выдавал имена верблюдов. См. Этот модульный тест .
Также теперь учитывается параметр [DataMember(Name="custom")]
, если вы хотите, чтобы имя свойства отличалось от сгенерированного имени.