プログラミング演習Ⅲ(2023)

【課題10-01】JSONファイルの出力(リストの出力)

プロジェクトタイプC#コンソールアプリ※
プロジェクト名Prac_10_01
ソリューション名PET10
ターゲットフレームワーク.NET 6.0 (長期的なサポート)
最上位レベルのステートメントを使用しない使用しない(チェックオン)

※ 「コンソールアプリ(.NET Framework)」ではないので注意せよ!

【課題9-03】で定義したクラスIntroductionInfoリスト を JSON形式のテキストファイルとして出力するプログラムを作成せよ.

後述の_にはあらかじめIntroductionInfoのリストintrosが 宣言されている.このリストの内容をJSON形式のテキストファイルとして出力せよ. 出力ファイル名はintro_list.jsonとする.

注意
  • この設問を解くには先に以下の課題を完了する必要がある.
  • 後述の空欄は前提課題の回答と 全く同じ にすること(変えてはならない).
  • この設問ではコンソール(黒画面)への表示処理を作る必要はない(ファイルの出力のみ).
  • メモ帳などで手打ちでテキストファイルを作るという設問ではないので注意せよ.

プログラムの概形は_のようにすること(必ず以下をコピーしProgram.cs全体を上書きすること).

テンプレートコード
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
using System.Text.Encodings.Web;
using System.Text.Json;
using System.Text.Unicode;

namespace Prac_10_01
{
    /********************************/
    /*                              */
    /*            空欄1             */
    /* IntroductionInfoクラスの定義 */
    /*     (【課題9-03】と同じ)     */
    /*                              */
    /********************************/

    internal class Program
    {
        static void Main(string[] args)
        {
            // 処理対象の配列(変更してはならない)
            IntroductionInfo[] intros = new[]
            {
                new IntroductionInfo (){ StudentID = "HI022099", Name = "医療太郎", Motto = "一攫千金", Birthday = new DateTime(2003, 11,  4) },
                new IntroductionInfo (){ StudentID = "HI024106", Name = "佐藤一馬", Motto = "因果応報", Birthday = new DateTime(2005, 11,  5) },
                new IntroductionInfo (){ StudentID = "HI023095", Name = "川村裕子", Motto = "融通無碍", Birthday = new DateTime(2004, 11,  6) },
                new IntroductionInfo (){ StudentID = "HI022105", Name = "田中一郎", Motto = "一期一会", Birthday = new DateTime(2003,  6, 10) },
                new IntroductionInfo (){ StudentID = "HI021111", Name = "北村健人", Motto = "天衣無縫", Birthday = new DateTime(2002,  5, 19) },
                new IntroductionInfo (){ StudentID = "HI022098", Name = "下原裕介", Motto = "終始如一", Birthday = new DateTime(2004,  2, 10) },
                new IntroductionInfo (){ StudentID = "HI023116", Name = "山崎康介", Motto = "有言実行", Birthday = new DateTime(2004,  9,  7) },
                new IntroductionInfo (){ StudentID = "HI021104", Name = "医療花子", Motto = "質実剛健", Birthday = new DateTime(2003,  3, 12) },
                new IntroductionInfo (){ StudentID = "HI024090", Name = "上村理恵", Motto = "挙一反三", Birthday = new DateTime(2006,  1, 10) },
                new IntroductionInfo (){ StudentID = "HI023101", Name = "山田太郎", Motto = "日々平穏", Birthday = new DateTime(2004,  4,  1) },
                new IntroductionInfo (){ StudentID = "HI022107", Name = "藤原弓子", Motto = "切磋琢磨", Birthday = new DateTime(2003,  7, 27) },
                new IntroductionInfo (){ StudentID = "HI022091", Name = "一宮花子", Motto = "一月三舟", Birthday = new DateTime(2004,  3,  2) },
                new IntroductionInfo (){ StudentID = "HI021113", Name = "中村次郎", Motto = "奇々怪々", Birthday = new DateTime(2002, 12,  1) },
                new IntroductionInfo (){ StudentID = "HI022109", Name = "西村雄太", Motto = "臥薪嘗胆", Birthday = new DateTime(2003, 10, 11) },
                new IntroductionInfo (){ StudentID = "HI024108", Name = "東堂和子", Motto = "晴耕雨読", Birthday = new DateTime(2005,  9, 30) },
                new IntroductionInfo (){ StudentID = "HI023092", Name = "土屋浩三", Motto = "自由自在", Birthday = new DateTime(2004,  4, 18) },
                new IntroductionInfo (){ StudentID = "HI022110", Name = "南原孝行", Motto = "夷険一節", Birthday = new DateTime(2003,  4, 22) },
                new IntroductionInfo (){ StudentID = "HI023097", Name = "風間正子", Motto = "孤軍奮闘", Birthday = new DateTime(2005,  3, 22) },
                new IntroductionInfo (){ StudentID = "HI021099", Name = "内海庄司", Motto = "泰然自若", Birthday = new DateTime(2002,  6, 11) },
                new IntroductionInfo (){ StudentID = "HI022102", Name = "岩鬼正美", Motto = "豪放磊落", Birthday = new DateTime(2004,  1,  1) },
            };

            /**************************************************/
            /*                                                */
            /*                    空欄2                       */
            /*           ↑のリスト intros の内容を           */
            /*            JSON形式で出力する.                */
            /*                                                */
            /**************************************************/

        }// end of Main
    }// end of class Program
}// end of namespace

正しく実装できた場合,実行結果のテキストファイルは_のようになる.

[
  {
    "StudentID": "HI022099",
    "Name": "医療太郎",
    "Motto": "一攫千金",
    "Birthday": "2003-11-04T00:00:00"
  },
  {
    "StudentID": "HI024106",
    "Name": "佐藤一馬",
    "Motto": "因果応報",
    "Birthday": "2005-11-05T00:00:00"
  },
  {
    "StudentID": "HI023095",
    "Name": "川村裕子",
    "Motto": "融通無碍",
    "Birthday": "2004-11-06T00:00:00"
  },
  {
    "StudentID": "HI022105",
    "Name": "田中一郎",
    "Motto": "一期一会",
    "Birthday": "2003-06-10T00:00:00"
  },
  {
    "StudentID": "HI021111",
    "Name": "北村健人",
    "Motto": "天衣無縫",
    "Birthday": "2002-05-19T00:00:00"
  },
  {
    "StudentID": "HI022098",
    "Name": "下原裕介",
    "Motto": "終始如一",
    "Birthday": "2004-02-10T00:00:00"
  },
  {
    "StudentID": "HI023116",
    "Name": "山崎康介",
    "Motto": "有言実行",
    "Birthday": "2004-09-07T00:00:00"
  },
  {
    "StudentID": "HI021104",
    "Name": "医療花子",
    "Motto": "質実剛健",
    "Birthday": "2003-03-12T00:00:00"
  },
  {
    "StudentID": "HI024090",
    "Name": "上村理恵",
    "Motto": "挙一反三",
    "Birthday": "2006-01-10T00:00:00"
  },
  {
    "StudentID": "HI023101",
    "Name": "山田太郎",
    "Motto": "日々平穏",
    "Birthday": "2004-04-01T00:00:00"
  },
  {
    "StudentID": "HI022107",
    "Name": "藤原弓子",
    "Motto": "切磋琢磨",
    "Birthday": "2003-07-27T00:00:00"
  },
  {
    "StudentID": "HI022091",
    "Name": "一宮花子",
    "Motto": "一月三舟",
    "Birthday": "2004-03-02T00:00:00"
  },
  {
    "StudentID": "HI021113",
    "Name": "中村次郎",
    "Motto": "奇々怪々",
    "Birthday": "2002-12-01T00:00:00"
  },
  {
    "StudentID": "HI022109",
    "Name": "西村雄太",
    "Motto": "臥薪嘗胆",
    "Birthday": "2003-10-11T00:00:00"
  },
  {
    "StudentID": "HI024108",
    "Name": "東堂和子",
    "Motto": "晴耕雨読",
    "Birthday": "2005-09-30T00:00:00"
  },
  {
    "StudentID": "HI023092",
    "Name": "土屋浩三",
    "Motto": "自由自在",
    "Birthday": "2004-04-18T00:00:00"
  },
  {
    "StudentID": "HI022110",
    "Name": "南原孝行",
    "Motto": "夷険一節",
    "Birthday": "2003-04-22T00:00:00"
  },
  {
    "StudentID": "HI023097",
    "Name": "風間正子",
    "Motto": "孤軍奮闘",
    "Birthday": "2005-03-22T00:00:00"
  },
  {
    "StudentID": "HI021099",
    "Name": "内海庄司",
    "Motto": "泰然自若",
    "Birthday": "2002-06-11T00:00:00"
  },
  {
    "StudentID": "HI022102",
    "Name": "岩鬼正美",
    "Motto": "豪放磊落",
    "Birthday": "2004-01-01T00:00:00"
  }
]
実行結果

ヒント

なし

Last updated on 2024-01-09
Published on 2024-01-09

Powered by Hugo. Theme by TechDoc. Designed by Thingsym.