【課題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を用いて単一のオブジェクトをファイルに書き込む/読み込む方法 : 閉じる