Maison > développement back-end > C++ > Comment désérialiser une chaîne JSON dans une liste d'objets C# à l'aide de JSON.NET ?

Comment désérialiser une chaîne JSON dans une liste d'objets C# à l'aide de JSON.NET ?

Patricia Arquette
Libérer: 2025-01-03 15:41:44
original
549 Les gens l'ont consulté

How to Deserialize a JSON String into a C# List of Objects using JSON.NET?

Comment convertir une chaîne JSON en liste d'objets C# à l'aide de JSON.NET de Newtonsoft

Scénario :

Vous devez convertir une chaîne JSON en une liste d'objets C#, notamment en utilisant la classe MatrixModel, qui contient diverses propriétés. La chaîne JSON inclut des données pour plusieurs instances de MatrixModel, avec seulement un sous-ensemble des propriétés renseignées.

Approche de conversion :

  1. Utilisez json2csharp.com pour convertir la chaîne JSON en code C# qui définit la structure de la classe.
  2. Utilisez Newtonsoft.JSON JsonConvert.DeserializeObject méthode pour désérialiser la chaîne JSON dans la liste d'objets C#.

Implémentation :

  1. Générer un modèle C# :

    • Aller à json2csharp.com
    • Collez la chaîne JSON dans le champ de saisie
    • Cliquez sur "Générer" pour créer le code C# correspondant
  2. Désérialiser JSON :

    • Créer une propriété C# pour représenter la chaîne JSON, telle que string json.
    • Désérialisez la chaîne JSON dans une liste d'objets MatrixModel à l'aide du code suivant :
    • var models = JsonConvert.DeserializeObject<List<MatrixModel>>(json);
      Copier après la connexion

      Exemple :

      En supposant le JSON suivant string :

      {
      "questions": [
       {
       "QuestionId": 49,
       "QuestionText": "What's your name?",
       "S9": "Pratik"
       },
       {
       "QuestionId": 51,
       "QuestionText": "Are you smart?",
       "S7": "True"
       }
      ]
      }
      Copier après la connexion

      Modèle C# généré :

      public class MatrixModel
      {
       public int QuestionId { get; set; }
       public string QuestionText { get; set; }
       public string S9 { get; set; }
       public string S7 { get; set; }
      }
      Copier après la connexion

classe publique RootObject
{

public List<MatrixModel> questions { get; set; }
Copier après la connexion

}

**Deserialization:**
Copier après la connexion

chaîne json = "{...}";
var models = JsonConvert.DeserializeObject>(json);

**Note:**
Copier après la connexion

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 de ce site Web
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
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal