JSON десериализация переменной именованного параметра с использованием DataContract

Предполагая, что у нас есть объект JSON, похожий на:

{
  '12345': 'text string',
  'rel': 'myResource'
}

Создание DataContract для сопоставления с этим типом кажется довольно простым, например:

[DataContract]
MyResource
{
  [DataMember(Name = "12345")]
  public string SpecialValue { get; set; }

  [DataMember(Name = "rel")]
  public string Rel { get; set; }
}

Теперь возникает проблема, что имя свойства является переменным, поэтому оно не обязательно будет «12345». Поскольку эта переменная не может быть правильно отображена с использованием атрибутов, она не будет выбрана при использовании DataContractJsonSerializer.

Если я изменю класс на поддержку IExtensibleDataObject, я могу получить часть значения, но не имя свойства, что является проблемой. Я хочу сохранить это значение во время десериализации / сериализации, чтобы можно было отправлять информацию по запросу на возврат. Я не собираюсь переходить на использование Json.NET для решения этой проблемы, так как хочу знать, возможно ли это в той или иной форме, не прибегая к внешней зависимости.

Ответы на вопрос(1)

Ваш ответ на вопрос