Master la désérialisation JSON en C #
Gestion des données JSON (notation d'objet JavaScript) est une tâche fréquente dans le développement C #. Alors que .NET fournit une manipulation JSON intégrée, en utilisant JSON.NET (Newtonsoft.json Nuget Package) offre souvent des performances et des fonctionnalités supérieures.
Considérez ce scénario:
<code class="language-csharp">var user = (Dictionary<string, object>)serializer.DeserializeObject(responsecontent);</code>
Cela tente de désérialiser JSON en A Dictionary<string, object>
. Cependant, cette approche se traduit souvent par des objets incomplets ou mal structurés.
json.net fournit une solution robuste, offrant des avantages tels que:
JsonSerializer
: fournit un contrôle à grain fin sur le processus de sérialisation / désérialisation. JsonIgnore
, JsonProperty
) Permettent une personnalisation précise du comportement de sérialisation. voici un exemple json.net:
<code class="language-csharp">using Newtonsoft.Json; public class Product { public string Name { get; set; } public DateTime Expiry { get; set; } public decimal Price { get; set; } public string[] Sizes { get; set; } } // ... Product product = new Product { Name = "Apple", Expiry = new DateTime(2008, 12, 28), Price = 3.99M, Sizes = new string[] { "Small", "Medium", "Large" } }; string json = JsonConvert.SerializeObject(product); Product deserializedProduct = JsonConvert.DeserializeObject<Product>(json);</code>
Cela démontre la classe JsonConvert
de JSON.net, sérialisant et désérialisant efficacement un objet Product
vers et depuis JSON. Cette approche fortement typée garantit une représentation précise des données et simplifie le travail avec JSON dans vos applications C #.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!