.NET Framework Sérialisation à l'aide de Json.NET avec JsonSerializerSettings


Exemple

Ce sérialiseur a quelques fonctionnalités intéressantes que le sérialiseur par défaut de .net json n'a pas, comme la gestion des valeurs Null, il vous suffit de créer les JsonSerializerSettings :

public static string Serialize(T obj)
{
   string result = JsonConvert.SerializeObject(obj, new JsonSerializerSettings { NullValueHandling = NullValueHandling.Ignore});
   return result;
}

Un autre problème sérieux de sérialiseur dans .net est la boucle d'auto-référencement. Dans le cas d'un étudiant inscrit à un cours, son instance possède une propriété de cours et un cours comporte une collection d'étudiants, ce qui signifie une List<Student> qui créera une boucle de référence. Vous pouvez gérer cela avec JsonSerializerSettings :

public static string Serialize(T obj)
{
   string result = JsonConvert.SerializeObject(obj, new JsonSerializerSettings { ReferenceLoopHandling = ReferenceLoopHandling.Ignore});
   return result;
}

Vous pouvez mettre diverses options de sérialisation comme ceci:

public static string Serialize(T obj)
{
   string result = JsonConvert.SerializeObject(obj, new JsonSerializerSettings { NullValueHandling = NullValueHandling.Ignore, ReferenceLoopHandling = ReferenceLoopHandling.Ignore});
   return result;
}