Heim > Backend-Entwicklung > C++ > Wie deserialisiere ich einen JSON-String mithilfe von JSON.NET in eine C#-Objektliste?

Wie deserialisiere ich einen JSON-String mithilfe von JSON.NET in eine C#-Objektliste?

Patricia Arquette
Freigeben: 2025-01-03 15:41:44
Original
468 Leute haben es durchsucht

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

So konvertieren Sie einen JSON-String in eine C#-Objektliste mit Newtonsofts JSON.NET

Szenario:

Sie müssen einen JSON-String in eine Liste von C#-Objekten konvertieren, insbesondere mithilfe der MatrixModel-Klasse, die verschiedene Eigenschaften enthält. Die JSON-Zeichenfolge enthält Daten für mehrere Instanzen von MatrixModel, wobei nur eine Teilmenge der Eigenschaften ausgefüllt ist.

Konvertierungsansatz:

  1. Verwenden Sie json2csharp.com zum Konvertieren die JSON-Zeichenfolge in C#-Code, der die Klassenstruktur definiert.
  2. Verwenden JsonConvert.DeserializeObject von Newtonsoft.JSON Methode zum Deserialisieren der JSON-Zeichenfolge in die C#-Objektliste.

Implementierung:

  1. C#-Modell generieren:

    • Gehe zu json2csharp.com
    • Fügen Sie die JSON-Zeichenfolge in das Eingabefeld ein
    • Klicken Sie auf „Generieren“, um den entsprechenden C#-Code zu erstellen
  2. JSON deserialisieren:

    • Erstellen eine C#-Eigenschaft zur Darstellung der JSON-Zeichenfolge, z. B. string json.
    • Deserialisieren Sie die JSON-Zeichenfolge in eine Liste von MatrixModel-Objekten mit dem folgenden Code:
    • var models = JsonConvert.DeserializeObject<List<MatrixModel>>(json);
      Nach dem Login kopieren

      Beispiel:

      Angenommen, der folgende JSON string:

      {
      "questions": [
       {
       "QuestionId": 49,
       "QuestionText": "What's your name?",
       "S9": "Pratik"
       },
       {
       "QuestionId": 51,
       "QuestionText": "Are you smart?",
       "S7": "True"
       }
      ]
      }
      Nach dem Login kopieren

      Generiertes C#-Modell:

      public class MatrixModel
      {
       public int QuestionId { get; set; }
       public string QuestionText { get; set; }
       public string S9 { get; set; }
       public string S7 { get; set; }
      }
      Nach dem Login kopieren

öffentliche Klasse RootObject
{

public List<MatrixModel> questions { get; set; }
Nach dem Login kopieren

}

**Deserialization:**
Nach dem Login kopieren

string json = "{...}";
var models = JsonConvert.DeserializeObject>(json);

**Note:**
Nach dem Login kopieren

Das obige ist der detaillierte Inhalt vonWie deserialisiere ich einen JSON-String mithilfe von JSON.NET in eine C#-Objektliste?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage