Désérialisation JSON des champs connus et inconnus en C#
Lorsque le résultat JSON contient des champs connus et inconnus, il est généralement nécessaire de mapper les champs inconnus dans un dictionnaire pour un accès et une modification faciles. Bien qu'il existe plusieurs façons d'y parvenir, l'utilisation de JsonExtensionDataAttribute
dans JSON .NET constitue une solution pratique.
JsonExtensionDataAttribute
vous permet de spécifier un attribut pour contenir des champs inconnus supplémentaires. Un exemple est le suivant :
<code class="language-csharp">public class Product { public string id { get; set; } public string name { get; set; } [JsonExtensionData] private IDictionary<string, JToken> _extraFields; }</code>
En utilisant cet attribut, les champs inconnus seront stockés dans l'attribut _extraFields
, qui est un dictionnaire de clés de chaîne (noms de champs) et de valeurs JToken
(valeurs de champ). Cela vous permet d'accéder et de modifier facilement les champs inconnus dans votre code.
Veuillez noter que cette méthode nécessite JSON .NET v5 version 5 ou supérieure. Si vous utilisez une version antérieure, vous souhaiterez peut-être explorer d'autres options mentionnées dans l'article d'origine, telles que l'utilisation d'un analyseur de contrat personnalisé ou d'un convertisseur personnalisé.
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!