Serialização / desserialização personalizada de DateTime usando DataContractJsonSerializer
Como alterar o JSON padrãoDateTime
serialização / desserialização para um formato personalizado usandoDataContractJsonSerializer
para todosDateTime
propriedades no gráfico de objetos?
A biblioteca Json.Net lida com isso, mas não posso usá-lo neste projeto.
eu tenteiIDataContractSurrogate
mas não consigo acessar o valor -> conversão de string para DateTimes.
O modelo e o JSON esperado são:
[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"
}