top of page
2024年09月04日
おはようございます。
・・・
解説の続き、行きますね。
「5組の教室がある」と言うところからです。
まず、VisualStudioを動かしてみましょう。
ブレークポイントを「forecasts = await Http.GetFromJsonAsync<WeatherForecast[]>("sample-data/weather.json");」の次の行に配置してください。
もし、上記の部分にブレークポイントが配置されていたら、「●」の部分をもう一度クリックして下さい。
「●」が消えます。
そして、次の行に「●」を配置する。
そして、上部にある「https」の左側にある三角を押下し、プログラムを起動させて下さい。
「Hello, world!」画面が出たら、「Weather」を押下願います。
ブレークポイントでプログラムが停止するはずです。
そして、以下の画面を確認願います。
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);」を追加する。
この状態で、上記文の次の行にブレークポイントを配置する。
そして、プログラムを起動させてください。
あっ、そうそう。。。
プログラムを起動させる前に、以前表示させていた「Weather」が表示されているブラウザは右上にある「X」を押して、いったん終了させてください。
この状態にすると、VisualStudio上で動かしていたプログラムが一旦終了致します。
一旦終了させた状態で、再び「https」左にある三角を押してプログラムを再起動させてください。
はい、「forecasts2」の中身に、気象庁さんのJsonデータが仕分けされて配置されました。
・・・
次に、いよいよ画面表示に解説を移すのですが、、、、
ここで、1時間が経過致しました。
一旦、解説を中断致します。
また、お会いいたしましょう。
bottom of page