Convertir des dates et des heures JSON avec .NET
La conversion de dates et d'heures entre JSON et .NET peut être un processus délicat, car les deux formats utilisent des représentations différentes. .NET utilise des objets DateTime
, tandis que JSON utilise des chaînes de caractères pour représenter les dates et les heures. Cet article explore les techniques courantes pour convertir des dates et des heures JSON en objets DateTime
.NET et vice versa.
Utiliser la désérialisation JSON avec System.Text.Json
Le moyen le plus simple de convertir des dates et des heures JSON en objets DateTime
.NET est d'utiliser la désérialisation JSON. Le package System.Text.Json
, intégré à .NET, offre des fonctionnalités de désérialisation puissantes.
Exemple:
using System.Text.Json;
// JSON avec un champ de date
string jsonString = @"{""date"":""2023-09-29T10:00:00Z""}";
// Définir le modèle C#
public class MyData
{
public DateTime date { get; set; }
}
// Désérialiser le JSON
MyData data = JsonSerializer.Deserialize(jsonString);
// La date est maintenant un objet DateTime .NET
Console.WriteLine(data.date); // Affiche : 2023-09-29 10:00:00
Convertir des dates et des heures JSON en objets DateTime
Si vous travaillez avec du JSON existant et que vous devez convertir des chaînes de caractères en objets DateTime
, vous pouvez utiliser la méthode DateTime.Parse
ou DateTime.ParseExact
:
// Chaîne de date JSON
string jsonDate = "2023-09-29T10:00:00Z";
// Convertir en DateTime
DateTime date = DateTime.Parse(jsonDate);
// Utiliser ParseExact pour un format spécifique
DateTime dateExact = DateTime.ParseExact(jsonDate, "yyyy-MM-ddTHH:mm:ssZ", null);
Console.WriteLine(date);
Console.WriteLine(dateExact);
Convertir des objets DateTime
en chaînes de caractères JSON
Pour convertir un objet DateTime
en chaîne de caractères JSON, utilisez la méthode ToString
avec un format compatible JSON :
DateTime date = DateTime.Now;
// Convertir en chaîne de caractères JSON
string jsonDate = date.ToString("yyyy-MM-ddTHH:mm:ssZ");
Console.WriteLine(jsonDate); // Affiche : 2023-09-29T16:37:59.727Z
Conclusion
La conversion de dates et d'heures JSON avec .NET est un processus courant qui nécessite une compréhension des formats utilisés par les deux plateformes. En utilisant la désérialisation JSON, les méthodes DateTime.Parse
et ToString
avec un format JSON, vous pouvez facilement convertir des dates et des heures entre JSON et .NET. N'oubliez pas de toujours utiliser des formats compatibles JSON pour garantir une interopérabilité optimale entre vos applications .NET et les services JSON.