jsonファイルを読み込んで、データオブジェクトに変換するサンプルです。
サンプル
例)test.jsonを読み込んでデータオブジェクトに変換する
test.jsonの中身は以下の通りです。
(C:¥test.json)
[
{"Id": 101, "Name": "伊藤", "Busho": "営業部"},
{"Id": 102, "Name": "鈴木", "Busho": "総務部"},
{"Id": 103, "Name": "田中", "Busho": "開発部"}
]
jsonに対応するデータクラスを定義しておきます。
//社員クラス
class Shain
{
public int Id { get; set; }
public string Name { get; set; }
public string Busho { get; set; }
}
実処理
using System.Collections.Generic;
using System.Text.Json;
using System.IO;
//test.jsonをUTF-8として読み込む
StreamReader sr =
new StreamReader(@"C:¥test.json", Encoding.GetEncoding("utf-8"));
string json = sr.ReadToEnd();
sr.Close();
//読み込んだjsonをList<Shain>型に変換する
var list = JsonSerializer.Deserialize<List<Shain>>(json);
//※Shainの配列にしたい場合はこんな感じ
var list = JsonSerializer.Deserialize<Shain[]>(json);
生成されたデータオブジェクト
["Id": 101, "Name": "伊藤", "Busho": "営業部"],
["Id": 102, "Name": "鈴木", "Busho": "総務部"],
["Id": 103, "Name": "田中", "Busho": "開発部"]
備考
- Dictionaryをjson文字列に変換したい場合は、System.Text.Json.JsonSerializer.Deserializeを使用すると簡単です。
- データオブジェクトをjsonファイルに変換したい場合は、以下関連記事をご覧ください。