C# で JSON ファイルを読み取る

Muhammad Maisam Abbas 2023年10月12日
C# で JSON ファイルを読み取る

このチュートリアルでは、C# で JSON ファイルを読み取る方法について説明します。

C# で JsonConvert クラスを使用して JSON ファイルを読み取る

JsonConvert クラスを使用して、JSON データをオブジェクトと変数に読み込み、オブジェクトと変数を C# で JSON 形式で書き込むことができます。JsonConvert クラスは Json.net フレームワークに存在しますが、プリインストールされていません。Json.net をインストールするコマンドを以下に示します。

Install-Package Newtonsoft.Json

この記事では、次の JSON データを使用します。

{
    "key1": "value1",
    "key2": "value2",
    "key3": "value3"
}

このファイルからデータを読み取るには、最初に、ファイルから読み取るすべての属性を含むモデルクラスを作成する必要があります。

file.json:

class datamodel {
  public string key1 { get; set; }
  public string key2 { get; set; }
  public string key3 { get; set; }
}

これで、JSON ファイルのすべてのデータをクラスオブジェクトに格納するモデルクラスができました。C# の JsonConvert.DeserializeObject() 関数を使用して、ファイルからデータを取得できます。JsonConvert.DeserializeObject() 関数は、文字列変数の形式で JSON データを取得し、それを指定されたデータモデルクラスオブジェクトに変換します。次のコード例は、C# の JsonConvert.DeserializeObject() 関数を使用して、クラスオブジェクトの JSON ファイルからデータを取得する方法を示しています。

StreamReader r = new StreamReader("file.json");
string jsonString = r.ReadToEnd();
datamodel m = JsonConvert.DeserializeObject<datamodel>(jsonString);

JSON データ file.json を含むファイルを読み取るために、StreamReader-r を初期化しました。次に、file.json ファイル内のすべてのデータである jsonString を初期化しました。JsonConvert.DeserializeObject<datamodel>(jsonString) 関数によって返される値を格納するために、datamodel クラス m のインスタンスを作成しました。これは、C# で JSON ファイルからデータを読み書きする最も簡単な方法です。

Muhammad Maisam Abbas avatar Muhammad Maisam Abbas avatar

Maisam is a highly skilled and motivated Data Scientist. He has over 4 years of experience with Python programming language. He loves solving complex problems and sharing his results on the internet.

LinkedIn

関連記事 - Csharp JSON