【課題9-04】JSONファイルの出力
プロジェクトタイプ | C#コンソールアプリ※ |
---|---|
プロジェクト名 | Prac_9_04 |
ソリューション名 | PET9 |
ターゲットフレームワーク | .NET 6.0 (長期的なサポート) |
最上位レベルのステートメントを使用しない | 使用しない(チェックオン) |
※ 「コンソールアプリ(.NET Framework)」ではないので注意せよ!
【課題9-03】で定義したクラスIntroductionInfo
のインスタンスを
JSON形式のテキストファイルとして出力するプログラムを作成せよ.
後述の_にはあらかじめIntroductionInfo
の変数intro
が
宣言されている.この変数の内容をJSON形式のテキストファイルとして出力せよ.
出力ファイル名はintoroduction.json
とする.
注意
プログラムの概形は_のようにすること(必ず以下をコピーしProgram.cs
全体を上書きすること).
|
|
正しく実装できた場合,実行結果のテキストファイルは_のようになる.
{ "StudentID": "HI022099", "Name": "医療太郎", "Motto": "一攫千金", "Birthday": "2002-10-02T00:00:00" }
ヒント
補足:System.Text.Jsonを用いて単一のオブジェクトをファイルに書き込む/読み込む方法
- 授業資料では,JSON形式でC#のオブジェクトをファイルに書き込む/読み込む方法の例として,配列やリストを読み書きする例を紹介したが,
System.Text.Json
ライブラリでは書き込む/読み込む対象がリストになっている必要ははないので誤解しないように注意せよ.- _に
System.Text.Json
ライブラリの使用方法を再掲する. - _には
任意オブジェクト
や読み込むオブジェクトの型
などの表記があるが,これらのオブジェクトの方が配列やリスト(List<T>
)でなければならないとはどこにも書かれていないことが分かるだろうか. - したがって
任意オブジェクト
や読み込むオブジェクトの型
の部分には,どのような型およびそのオブジェクトでも置くことができる. - 今回の場合は【課題9-03】で定義した
IntroductionInfo
クラスなのだから,任意オブジェクト
の部分にはIntroductionInfo
クラスのオブジェクト(変数など),読み込むオブジェクトの型
の部分にはIntroductionInfo
クラスそのものを指定することができる.
- _に
// 書き出し
JsonSerializer.Serialize(任意オブジェクト
,オプション(省略可)
)// 読み込み
JsonSerializer.Deserialize<読み込むオブジェクトの型
>(JSON形式のテキストを含む文字列型の定数・変数・式
)
補足:System.Text.Jsonを用いて単一のオブジェクトをファイルに書き込む/読み込む方法 : 閉じる