Deserialización JSON de parámetro con nombre variable usando DataContract

Suponiendo que tenemos un objeto JSON similar a:

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

La construcción de un DataContract para asignar a este tipo parece bastante simple, como:

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

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

Ahora llega el problema de que el nombre de la propiedad es variable, por lo que no se garantiza que sea '12345'. Dado que esta variable no se puede asignar correctamente utilizando atributos, no se recogerá cuando se use DataContractJsonSerializer.

Si cambio la clase para admitir IExtensibleDataObject, puedo obtener la parte del valor pero no el nombre de la propiedad, lo cual es un problema. Estoy buscando mantener este valor durante la deserialización / serialización para poder enviar la información en una solicitud de devolución. No estoy buscando cambiar para usar Json.NET para resolver este problema, ya que quiero saber si es posible de alguna forma sin recurrir a una dependencia externa.

Respuestas a la pregunta(1)

Su respuesta a la pregunta