【Excel VBA】JSONパース処理が遅い-2

Excel VBA

前回の続きで、JSONパース後の配列取得について記述します。

例えば以下の形式のJSONデータをパースしそれぞれJScriptとVBA-JSONでの取得方法は以下の通りです。少し記述方法が異なるので注意してください。

{ "data" :[{ "name": "Tanaka", "age": 26 },{"name": "Suzuki", "age": 37}]}

・JScriptの場合・・・CallByNameを使用します。

Dim JsonObject As Object
Set JsonObject = ParseJson(jsontext)

For Each REC In CallByName(JsonObject, "data", VbGet)

    username = CallByName(REC, "name", VbGet)
    userage = CallByName(REC, "age", VbGet)

Next

・VBA-JSONの場合

Dim JsonObject As Object
Set JsonObject = ParseJson(jsontext)

For Each REC In JsonObject("data")

    username = REC("name")
    userage = REC("age")

Next

※VBA-JSONは添え字を指定しても取得できます。

username = JsonObject("data")(1)("name")
userage = JsonObject("data")(1)("age")

コメント

タイトルとURLをコピーしました