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
Patricia ArquetteOriginal
2025-01-03 15:41:44460Durchsuche

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);

      Beispiel:

      Angenommen, der folgende JSON string:

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

      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; }
      }

öffentliche Klasse RootObject
{

public List<MatrixModel> questions { get; set; }

}

**Deserialization:**

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

**Note:**

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!

Stellungnahme:
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