多くの開発者は、データの操作と処理のために JSON 文字列を C# オブジェクトに変換する必要性に遭遇します。このタスクは、.NET アプリケーションで JSON データを操作するための一般的なライブラリである JSON.NET を利用すると簡単になります。
オブジェクトの配列を含む JSON 文字列があるとします。この配列内のオブジェクトは、MatrixModel として知られる、定義された C# クラスのプロパティに対応する特定のプロパティを持っています。この 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 サイトの他の関連記事を参照してください。