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

Wie konvertiert man einen JSON-String mithilfe von JSON.NET in eine C#-Objektliste?

Mary-Kate Olsen
Mary-Kate OlsenOriginal
2025-01-04 19:43:40904Durchsuche

How to Convert a JSON String to a C# Object List Using JSON.NET?

Konvertieren Sie einen JSON-String in eine C#-Objektliste mit JSON.NET

Viele Entwickler müssen JSON-Strings zur Datenbearbeitung und -verarbeitung in C#-Objekte konvertieren. Diese Aufgabe kann mit Hilfe von JSON.NET, einer beliebten Bibliothek für die Arbeit mit JSON-Daten in .NET-Anwendungen, erleichtert werden.

Angenommen, Sie haben eine JSON-Zeichenfolge, die ein Array von Objekten enthält. Die Objekte in diesem Array verfügen über spezifische Eigenschaften, die den Eigenschaften einer definierten C#-Klasse, bekannt als MatrixModel, entsprechen. Um diesen JSON-String in eine Liste von MatrixModel-Objekten zu konvertieren, können Sie die folgenden Schritte ausführen:

  1. JSON in Klasse konvertieren: Besuchen Sie json2csharp.com, eine Website, die Ihnen die Konvertierung ermöglicht JSON-Daten in C#-Klassen. Fügen Sie die JSON-Zeichenfolge in das bereitgestellte Feld ein und generieren Sie den Code.
  2. JSON deserialisieren: Deserialisieren Sie die JSON-Zeichenfolge mit JSON.NET von Newtonsoft in eine Liste von MatrixModel-Objekten:
var matrixModelList = JsonConvert.DeserializeObject<List<MatrixModel>>(json);

Beispiel JSON:

    "[
      {
        "Question": {
          "QuestionId": 49,
          "QuestionText": "Whats your name?",
          "TypeId": 1,
          "TypeName": "MCQ",
          "Model": {
            "options": [
              {
                "text": "Rahul",
                "selectedMarks": "0"
              },
              {
                "text": "Pratik",
                "selectedMarks": "9"
              },
              {
                "text": "Rohit",
                "selectedMarks": "0"
              }
            ],
            "maxOptions": 10,
            "minOptions": 0,
            "isAnswerRequired": true,
            "selectedOption": "1",
            "answerText": "",
            "isRangeType": false,
            "from": "",
            "to": "",
            "mins": "02",
            "secs": "04"
          }
        },
        "CheckType": "",
        "S1": "",
        "S2": "",
        "S3": "",
        "S4": "",
        "S5": "",
        "S6": "",
        "S7": "",
        "S8": "",
        "S9": "Pratik",
        "S10": "",
        "ScoreIfNoMatch": "2"
      },
      {
        "Question": {
          "QuestionId": 51,
          "QuestionText": "Are you smart?",
          "TypeId": 3,
          "TypeName": "True-False",
          "Model": {
            "options": [
              {
                "text": "True",
                "selectedMarks": "7"
              },
              {
                "text": "False",
                "selectedMarks": "0"
              }
            ],
            "maxOptions": 10,
            "minOptions": 0,
            "isAnswerRequired": false,
            "selectedOption": "3",
            "answerText": "",
            "isRangeType": false,
            "from": "",
            "to": "",
            "mins": "01",
            "secs": "04"
          }
        },
        "CheckType": "",
        "S1": "",
        "S2": "",
        "S3": "",
        "S4": "",
        "S5": "",
        "S6": "",
        "S7": "True",
        "S8": "",
        "S9": "",
        "S10": "",
        "ScoreIfNoMatch": "2"
      }
    ]"

Beispiel eines deserialisierten Objekts:

var model = JsonConvert.DeserializeObject<List<MatrixModel.RootObject>>(json);

Jetzt können Sie problemlos mit der deserialisierten MatrixModel-Liste arbeiten und auf die Daten zugreifen und diese bearbeiten nach Bedarf in Ihrer C#-Anwendung.

Das obige ist der detaillierte Inhalt vonWie konvertiert man 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