top of page
2024年09月04日
おはようございます。

・・・

解説の続き、行きますね。

「5組の教室がある」と言うところからです。

まず、VisualStudioを動かしてみましょう。

ブレークポイントを「forecasts = await Http.GetFromJsonAsync<WeatherForecast[]>("sample-data/weather.json");」の次の行に配置してください。
もし、上記の部分にブレークポイントが配置されていたら、「●」の部分をもう一度クリックして下さい。
「●」が消えます。
​そして、次の行に「●」を配置する。
画面20.jpg
そして、上部にある「https」の左側にある三角を押下し、プログラムを起動させて下さい。
「Hello, world!」画面が出たら、「Weather」を押下願います。

ブレークポイントでプログラムが停止するはずです。
​そして、以下の画面を確認願います。
画面21.jpg
画面22.jpg
0~4までの数値が表示されるはずです。
そして、その中身を見るとクラスのメンバーの内容が見えるはず。
キチンと、Jsonのとおり仕分けが行われています。

ああ、そうですね。
クラスのメンバーにはもう一人いました。
この方です。
「public int TemperatureF => 32 + (int)(TemperatureC / 0.5556);」

このメンバーには「{ get; set; }」が付いていません。
これは、専門用語でいえば、ラム・・・
そうですね。専門用語をここで出すことは、今の段階では避けましょう。

これは一種の計算式の関数です。
「public」(みんなの)、「int(integer)」(整数)、「TemperatureF」(変数)
「みんなのTemperatureFと言う数は」

「32 + (int)(TemperatureC / 0.5556);」
「32 に TemperatureC を 0.5556 で割った数を整数にした値を足したもの」
と言う意味です。

これは「華氏(℉)」と言うモノです。
これに対して「摂氏(℃)」があります。

日本では℃が通常に使用されていますが、海外では℉が使われるケースがあります。
この変換式を上記の関数として表されています。

したがって、このクラスメンバーは、Jsonフォーマットの中には直接現れていません。
Jsonの中から取得するのは「{ get; set; }」がついているメンバーだけです。

・・・

では、どうしたら気象庁さんのJsonフォーマット内容を、このコンピュータでうまく仕分けできるでしょうか。

気象庁さんのJsonフォーマットのメンバーは以下の通りです。
「publishingOffice」(文字列)
「reportDatetime」(今回は文字列として考えてみましょう)
「targetArea」(文字列)
「headlineText」(文字列)
「text」(文字列)

そして、今回は「配列」ではありません。一組しかありませんからね。
皆さんだったら、どのように記述されますか?

・・・

まず、クラスを作ります。
クラスの名前を「WeatherForecast2」と致します。

    public class WeatherForecast2
    {
        public string? publishingOffice { get; set; }

        public string? reportDatetime { get; set; }

        public string? targetArea { get; set; }

        public string? headlineText { get; set; }

        public string? text { get; set; }

    }

次に「private WeatherForecast2? forecasts2;」を40行目にある「private WeatherForecast[]? forecasts;」の次に配置致します。

この違い分かりますか。
「forecasts2」には「 [] 」が付いていません。
何故なら「配列」ではないためです。

そして「forecasts = await Http.GetFromJsonAsync<WeatherForecast[]>("sample-data/weather.json");」の次の行に
「forecasts2 = await Http.GetFromJsonAsync<WeatherForecast2>(url);」を追加する。

​この状態で、上記文の次の行にブレークポイントを配置する。
画面20.jpg
そして、プログラムを起動させてください。
あっ、そうそう。。。
プログラムを起動させる前に、以前表示させていた「Weather」が表示されているブラウザは右上にある「X」を押して、いったん終了させてください。

この状態にすると、VisualStudio上で動かしていたプログラムが一旦終了致します。
一旦終了させた状態で、再び「https」左にある三角を押してプログラムを再起動させてください。
画面22.jpg
はい、「forecasts2」の中身に、気象庁さんのJsonデータが仕分けされて配置されました。

・・・

次に、いよいよ画面表示に解説を移すのですが、、、、
ここで、1時間が経過致しました。

一旦、解説を中断致します。
​また、お会いいたしましょう。

 
bottom of page