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
477 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!

source:php.cn
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