.net Json Datetime

3 min read Jun 04, 2024
.net Json Datetime

Traiter les dates et les heures JSON avec .NET

Le format JSON est largement utilisé pour l'échange de données, mais la gestion des dates et des heures peut parfois poser des problèmes. .NET fournit des outils puissants pour convertir les dates et les heures entre les formats JSON et .NET.

Convertir les dates .NET en JSON

Pour convertir une date .NET en JSON, vous pouvez utiliser la sérialisation JSON. La bibliothèque System.Text.Json de .NET fournit des outils pour sérialiser et désérialiser des objets JSON.

using System.Text.Json;

// Créer un objet DateTime
DateTime date = DateTime.Now;

// Sérialiser la date en JSON
string jsonString = JsonSerializer.Serialize(date);

// Afficher la sortie JSON
Console.WriteLine(jsonString);

Ce code produira une sortie JSON similaire à : "2023-10-26T10:25:00.1234567+01:00".

Convertir les dates JSON en .NET

Pour convertir une date JSON en .NET, vous devez désérialiser la chaîne JSON en utilisant la bibliothèque System.Text.Json. Vous pouvez utiliser l'attribut JsonPropertyName pour spécifier le nom de la propriété dans le JSON.

using System.Text.Json;

// Chaîne JSON contenant une date
string jsonString = "\"2023-10-26T10:25:00.1234567+01:00\"";

// Désérialiser la chaîne JSON en objet DateTime
DateTime date = JsonSerializer.Deserialize(jsonString);

// Afficher la date
Console.WriteLine(date);

Ce code affichera la date extraite de la chaîne JSON.

Formatage des dates JSON

Vous pouvez contrôler le format de la date JSON en utilisant l'attribut JsonPropertyName et en spécifiant un format de date personnalisé.

using System.Text.Json;
using System.Text.Json.Serialization;

// Classe avec un attribut JsonPropertyName et un format de date personnalisé
public class MyObject
{
    [JsonPropertyName("date")]
    [JsonConverter(typeof(JsonStringEnumConverter))]
    public DateTime Date { get; set; }
}

// Créer un objet MyObject
MyObject myObject = new MyObject() { Date = DateTime.Now };

// Sérialiser l'objet en JSON
string jsonString = JsonSerializer.Serialize(myObject);

// Afficher la sortie JSON
Console.WriteLine(jsonString);

Ce code affichera la date dans le format "yyyy-MM-dd" dans la sortie JSON.

Conclusion

.NET fournit des outils puissants pour gérer les dates et les heures dans le format JSON. En utilisant la sérialisation et la désérialisation JSON, vous pouvez convertir facilement entre les formats .NET et JSON, tout en contrôlant le format de la date.