ホームページ >バックエンド開発 >C++ >JSON.NETを使用してJSON文字列をC#オブジェクトのリストに逆シリアル化する方法は?

JSON.NETを使用してJSON文字列をC#オブジェクトのリストに逆シリアル化する方法は?

Patricia Arquette
Patricia Arquetteオリジナル
2025-01-03 15:41:44466ブラウズ

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

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

シナリオ:

特に次を使用して、JSON 文字列を C# オブジェクトのリストに変換する必要がありますMatrixModel クラス。これにはさまざまなプロパティが含まれます。 JSON 文字列には、MatrixModel の複数のインスタンスのデータが含まれており、プロパティのサブセットのみが設定されています。

変換アプローチ:

  1. 変換するには json2csharp.com を利用します。 JSON 文字列をクラス構造を定義する C# コードに変換します。
  2. 使用Newtonsoft.JSON の JsonConvert.DeserializeObject JSON 文字列を C# オブジェクト リストに逆シリアル化するメソッド。

実装:

  1. C# モデルの生成:

    • へ移動json2csharp.com
    • JSON 文字列を入力フィールドに貼り付けます
    • 「生成」をクリックして、対応する C# コードを作成します
  2. デシリアライズJSON:

    • 文字列 json などの JSON 文字列を表す C# プロパティを作成します。
    • 次のコマンドを使用して、JSON 文字列を MatrixModel オブジェクトのリストに逆シリアル化します。コード:
    • var models = JsonConvert.DeserializeObject<List<MatrixModel>>(json);

      例:

      次の JSON 文字列を想定します:

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

      生成された C#モデル:

      public class MatrixModel
      {
       public int QuestionId { get; set; }
       public string QuestionText { get; set; }
       public string S9 { get; set; }
       public string S7 { get; set; }
      }

パブリック クラス RootObject
{

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

}

**Deserialization:**

文字列 json = "{...}";
var モデル = JsonConvert.DeserializeObject>(json);

**Note:**

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

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