Maison >développement back-end >C++ >Comment puis-je désérialiser des tableaux d'objets JSON contenant des objets à propriété unique avec Json.net ?

Comment puis-je désérialiser des tableaux d'objets JSON contenant des objets à propriété unique avec Json.net ?

Barbara Streisand
Barbara Streisandoriginal
2025-01-05 19:22:40482parcourir

How Can I Deserialize JSON Object Arrays Containing Single-Property Objects with Json.net?

Désérialiser des tableaux d'objets JSON avec Json.net

Le défi présenté par l'utilisation d'une API avec une structure JSON différente de l'objet attendu- la structure basée sur la base est courante. En nous conformant à l'exemple fourni, nous pouvons désérialiser efficacement ces tableaux.

Comprendre la structure

La structure JSON en question comprend un tableau d'objets, chacun contenant un seul propriété « client ». Ce format unique présente un écart par rapport à la structure typique basée sur les objets que Json.net gère généralement.

Personnalisation de la désérialisation

Pour remédier à cette disparité, nous pouvons définir un format personnalisé modèle qui s'aligne sur la structure du JSON fourni. En créant une structure de classe imbriquée, nous pouvons mapper la propriété « customer » à une instance de la classe Customer.

Implémentation de la désérialisation

En utilisant ce modèle personnalisé, nous pouvons désérialisez le tableau JSON comme suit :

var customerJsons = JsonConvert.DeserializeObject<List<CustomerJson>>(json);

Application au Modèle

Chaque élément de customerJsons contiendra un objet Customer avec les données client souhaitées.

Exemple :

class Customer
{
    [JsonProperty("first_name")]
    public string FirstName { get; set; }

    [JsonProperty("last_name")]
    public string LastName { get; set; }
}

class CustomerJson
{
    [JsonProperty("customer")]
    public Customer Customer { get; set; }
}

Utilisation de ceci Cette technique permet une désérialisation transparente des tableaux d'objets JSON, s'adaptant à des structures de données complexes et libérant la puissance de Json.net pour gérer divers JSON. formats.

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