Maison >développement back-end >C++ >Comment puis-je sérialiser des dictionnaires directement dans les objets parents à l'aide de Json.Net ?

Comment puis-je sérialiser des dictionnaires directement dans les objets parents à l'aide de Json.Net ?

Patricia Arquette
Patricia Arquetteoriginal
2025-01-17 11:22:11546parcourir

How Can I Serialize Dictionaries Directly Within Parent Objects Using Json.Net?

Sérialiser des dictionnaires dans le cadre d'objets parents avec Json.Net

Dans Json.Net, sérialiser des objets avec des dictionnaires peut être un défi si vous le souhaitez les paires clé-valeur du dictionnaire apparaissent directement dans la représentation JSON de l'objet parent. Voici comment y parvenir :

Utilisation de [JsonExtensionData]

Pour Json.Net version 5.0.5 ou ultérieure, une solution élégante consiste à utiliser l'attribut [JsonExtensionData] . En ajoutant cet attribut à la propriété du dictionnaire, ses paires clé-valeur seront sérialisées dans le cadre de l'objet parent. Par exemple :

public class Test
{
    public string X { get; set; }

    [JsonExtensionData]
    public Dictionary<string, object> Y { get; set; }
}

Cette approche garantit que les clés et les valeurs du dictionnaire sont incluses dans l'objet JSON résultant, aplatissant ainsi la structure. De plus, il prend en charge à la fois la sérialisation et la désérialisation, permettant de stocker toutes les propriétés JSON sans correspondance dans le dictionnaire lors de la désérialisation.

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!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn