VBA-JSONで天気予報（明後日まで・週間）JSONファイルを読んでみる

# 目的
[VBA-tools/VBA-JSON](https://github.com/VBA-tools/VBA-JSON)を使用して[Pythonで天気予報（明後日まで・週間）JSONファイルを読んでみる](https://qiita.com/tabizou/items/b6abbee441e23c0904f8)
を参考にJSONファイルを読んでみる

## 追加モジュール
[VBA-JSON v2.3.1](https://github.com/VBA-tools/VBA-JSON/releases/tag/v2.3.1)よりVBA-JSON-2.3.1.zipをDL＆解凍する
JsonConverter.basをVBAプロジェクトに追加する
## vbaのサンプルコード
以下のサンプルのコメントは[【Colab / Python】気象庁API - 気象データの収集](https://qiita.com/T_Ryota/items/ef96d6575404a0fd46dd)の記述を参考にしています
※コピペともいう・・・・
```vb
Dim item    As Variant
Dim itm     As Variant
Dim json    As Object
Dim url     As String
Dim ret     As String
Dim idx     As Integer

'
' 天気概況（明後日まで）
'
url = "https://www.jma.go.jp/bosai/forecast/data/overview_week/130000.json"
ret = WorksheetFunction.WebService(url)
'
Set json = JsonConverter.ParseJson(ret)
Debug.Print ("発表者：")
Debug.Print " " + json("publishingOffice")
Debug.Print ("報告日時：")
Debug.Print " " + json("reportDatetime")
Debug.Print ("対象地域：")
Debug.Print " " + json("headTitle")
Debug.Print ("天気概況（週間）：")
Debug.Print " " + json("text")
'
'   直近3日間+週間
'
url = "https://www.jma.go.jp/bosai/forecast/data/forecast/130000.json"
ret = WorksheetFunction.WebService(url)
'
Set json = JsonConverter.ParseJson(ret)
'
'   直近3日間(当日含む)の天気予報
'
Debug.Print ("発表者：")
Debug.Print " " + json(1)("publishingOffice")
Debug.Print ("報告日時：")
Debug.Print " " + json(1)("reportDatetime")
'
'   直近3日間(当日含む)の天気予報
'
Debug.Print " "
Debug.Print ("日時：")
Debug.Print " " + json(1)("timeSeries")(1)("timeDefines")(1)
Debug.Print " " + json(1)("timeSeries")(1)("timeDefines")(2)
Debug.Print " " + json(1)("timeSeries")(1)("timeDefines")(3)
'
Debug.Print " "
For Each item In json(1)("timeSeries")(1)("areas")
    Debug.Print item("area")("code") + " : " + item("area")("name")
'
    idx = 0
    For Each itm In json(1)("timeSeries")(1)("timeDefines")
        idx = idx + 1
        Debug.Print " " + json(1)("timeSeries")(1)("timeDefines")(idx)
        Debug.Print " " + item("weatherCodes")(idx)
        Debug.Print " " + item("weathers")(idx)
        Debug.Print " " + item("winds")(idx)
        Debug.Print " " + item("waves")(idx)
    Next
    Debug.Print " "
Next
'
'   直近6時間毎の降水確率
'
Debug.Print " "
For Each item In json(1)("timeSeries")(2)("areas")
    Debug.Print item("area")("code") + " : " + item("area")("name")
    idx = 0
    For Each itm In json(1)("timeSeries")(2)("timeDefines")
        idx = idx + 1
        Debug.Print json(1)("timeSeries")(2)("timeDefines")(idx) + " : " + item("pops")(idx)
    Next
    Debug.Print " "
Next
'
'   翌日の最低気温と日中の最高気温
'
Debug.Print " "
For Each item In json(1)("timeSeries")(3)("areas")
    Debug.Print item("area")("code") + " : " + item("area")("name")
    idx = 0
    For Each itm In json(1)("timeSeries")(3)("timeDefines")
        idx = idx + 1
        Debug.Print json(1)("timeSeries")(3)("timeDefines")(idx) + " : " + item("temps")(idx)
    Next
    Debug.Print " "
Next
'
'   週間予報 (天気, 降水確率, 予報に対する信頼度)
'
Debug.Print " "
For Each item In json(2)("timeSeries")(1)("areas")
    Debug.Print item("area")("code") + " : " + item("area")("name")
    idx = 0
    For Each itm In json(2)("timeSeries")(1)("timeDefines")
        idx = idx + 1
        Debug.Print " " + item("weatherCodes")(idx) _
                + " : " + item("pops")(idx) _
                + " : " + item("reliabilities")(idx)
    Next
    Debug.Print " "
Next
'
'   週間予報 (最低気温, 最低気温の予測上限, 最低気温の予測下限,
'   日中の最高気温, 日中の最高気温の予測上限, 日中の最高気温の予測下限)
'
Debug.Print " "
For Each item In json(2)("timeSeries")(2)("areas")
    Debug.Print item("area")("code") + " : " + item("area")("name")
    idx = 0
    For Each itm In json(2)("timeSeries")(2)("timeDefines")
        idx = idx + 1
        Debug.Print " " + json(2)("timeSeries")(2)("timeDefines")(idx)
        Debug.Print " " + item("tempsMin")(idx) _
                  + " : " + item("tempsMinLower")(idx) _
                  + " : " + item("tempsMax")(idx) _
                  + " : " + item("tempsMaxUpper")(idx) _
                  + " : " + item("tempsMaxLower")(idx)
    Next
    Debug.Print " "
Next
'
'   向こう一週間（明日から７日先まで）の平年値 (最低気温, 最高気温)
'
Debug.Print " "
For Each item In json(2)("tempAverage")("areas")
    Debug.Print item("area")("code") + " : " + item("area")("name")
    Debug.Print item("min") + " : " + item("max")
    idx = 0
    Debug.Print " "
Next
'
'   向こう一週間（明日から７日先まで）の平年値 (降水量の７日間合計)
'
Debug.Print " "
For Each item In json(2)("precipAverage")("areas")
    Debug.Print item("area")("code") + " : " + item("area")("name")
    Debug.Print item("min") + " : " + item("max")
    idx = 0
    Debug.Print " "
Next
```

# 参考にしたのは以下のサイト
[VBA-JSON v2.3.1](https://github.com/VBA-tools/VBA-JSON/releases/tag/v2.3.1)
[【Colab / Python】気象庁API - 気象データの収集](https://qiita.com/T_Ryota/items/ef96d6575404a0fd46dd)
[宇宙一わかりやすい？VBA-JSONを使ったJSONパースのしかた](https://qiita.com/emesh/items/0834a5ad373d2ade6a93)
[Pythonで天気予報（明後日まで・週間）JSONファイルを読んでみる](https://qiita.com/tabizou/items/b6abbee441e23c0904f8)
[C#で天気予報JSONファイルを読んでみる](https://qiita.com/tabizou/items/67946c413702e3ff0016)