Serialización / deserialización de fecha y hora personalizada utilizando DataContractJsonSerializer
Cómo cambiar el JSON predeterminadoDateTime
serialización / deserialización a un formato personalizado utilizandoDataContractJsonSerializer
para todosDateTime
propiedades en el gráfico de objeto?
La biblioteca Json.Net se ocupa de esto, pero no puedo usar eso en este proyecto.
Lo intentéIDataContractSurrogate
pero no puedo acceder al valor -> conversión de cadena para DateTimes.
El modelo y el JSON esperado son:
[DataContract]
public class Client
{
[DataMember(Name = "id")]
public int Id {get; set; }
[DataMember(Name = "name")]
public string Name {get; set; }
[DataMember(Name = "contacts")]
public IList<Contact> Contacts {get; set; }
[DataMember(Name = "created")]
public DateTime Created {get; set; }
[DataMember(Name = "changed")]
public DateTime Changed {get; set; }
}
[DataContract]
public class Contact
{
[DataMember(Name = "name")]
public string Name {get; set; }
[DataMember(Name = "created")]
public DateTime Created {get; set; }
}
{
"id": 123,
"name": "Client Name",
"contacts": [
{
"name": "Contact Name",
"created": "2014-01-25 02:12:43"
}
],
"created": "2014-01-25 01:11:23"
"changed": "2014-01-25 03:22:41"
}