.net Json Serialize Date Format

3 min read Jun 04, 2024
.net Json Serialize Date Format

Formater la date lors de la sérialisation JSON en .NET

Le formatage des dates lors de la sérialisation JSON en .NET est un aspect crucial pour assurer l'interopérabilité et la lisibilité des données. .NET offre une grande flexibilité dans la manière dont les dates sont sérialisées, vous permettant de contrôler le format de sortie.

Comprendre les options de formatage

Par défaut, .NET utilise le format ISO 8601 pour la sérialisation des dates, c'est-à-dire "yyyy-MM-ddTHH:mm:ss.fffffffzzz". Cependant, vous pouvez personnaliser ce format en utilisant des attributs ou des paramètres de configuration.

Attributs de sérialisation

L'attribut [DataMember] de la bibliothèque System.Runtime.Serialization.Json vous permet de spécifier le format de la date en utilisant la propriété DateTimeFormat.

using System.Runtime.Serialization;
using System.Runtime.Serialization.Json;

[DataContract]
public class MyData
{
    [DataMember(Name = "Date", IsRequired = true, EmitDefaultValue = true, 
        DateTimeFormat = "dd/MM/yyyy")]
    public DateTime Date { get; set; }
}

Dans cet exemple, la date sera sérialisée au format "dd/MM/yyyy".

Configuration du sérialiseur

Vous pouvez également configurer le sérialiseur JSON pour spécifier un format de date par défaut.

using System.Runtime.Serialization.Json;

var settings = new DataContractJsonSerializerSettings
{
    DateTimeFormat = "dd/MM/yyyy HH:mm:ss"
};
var serializer = new DataContractJsonSerializer(typeof(MyData), settings);

Cet exemple utilisera le format "dd/MM/yyyy HH:mm:ss" pour toutes les dates sérialisées.

Formatage personnalisé

Pour un formatage plus complexe, vous pouvez utiliser la méthode ToString de la classe DateTime avec un formatage personnalisé.

using System.Text.Json;

var date = DateTime.Now;
var json = JsonSerializer.Serialize(new { Date = date.ToString("dd/MM/yyyy HH:mm:ss") });

Conclusion

En utilisant les attributs de sérialisation, la configuration du sérialiseur ou le formatage personnalisé, vous avez un contrôle total sur le format des dates lors de la sérialisation JSON en .NET. Assurez-vous de choisir le format qui répond le mieux à vos besoins et garantit l'interopérabilité avec les systèmes qui consomment vos données JSON.

Related Post


Featured Posts