ホームページ >バックエンド開発 >C++ >JSON.NET を使用して JSON 文字列を C# オブジェクト リストに変換する方法

JSON.NET を使用して JSON 文字列を C# オブジェクト リストに変換する方法

Mary-Kate Olsen
Mary-Kate Olsenオリジナル
2025-01-04 19:43:40903ブラウズ

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

JSON.NET を使用して JSON 文字列を C# オブジェクト リストに変換する

多くの開発者は、データの操作と処理のために JSON 文字列を C# オブジェクトに変換する必要性に遭遇します。このタスクは、.NET アプリケーションで JSON データを操作するための一般的なライブラリである JSON.NET を利用すると簡単になります。

オブジェクトの配列を含む JSON 文字列があるとします。この配列内のオブジェクトは、MatrixModel として知られる、定義された C# クラスのプロパティに対応する特定のプロパティを持っています。この JSON 文字列を MatrixModel オブジェクトのリストに変換するには、次の手順に従います。

  1. JSON をクラスに変換します: 変換できる Web サイト json2csharp.com にアクセスしてください。 JSON データを C# クラスに変換します。 JSON 文字列を指定されたボックスに貼り付けて、コードを生成します。
  2. JSON を逆シリアル化する: Newtonsoft の JSON.NET を使用して、JSON 文字列を MatrixModel オブジェクトのリストに逆シリアル化します:
var matrixModelList = JsonConvert.DeserializeObject<List<MatrixModel>>(json);

例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"
      }
    ]"

デシリアライズされたオブジェクトの例:

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

これで、デシリアライズされた MatrixModel リストを簡単に操作して、データにアクセスして操作できるようになります。 C# アプリケーションで必要に応じて。

以上がJSON.NET を使用して JSON 文字列を C# オブジェクト リストに変換する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。