私は以下のようなjsonを持っています:
{"sentences":[{"trans":"something ru","orig":"english word","translit":"Angliyskoye slovo","src_translit":""}], "src":"en","server_time":69}
そしてそれを解析します:
Function jsonDecode(jsonString As Variant)
Set sc = CreateObject("ScriptControl"): sc.Language = "JScript"
Set jsonDecode = sc.Eval("(" + jsonString + ")")
End Function
Set arr = jsonDecode(txt)
結果arr
には以下のような値が含まれます (Watches で確認):
arr
- sentences (type: Variant/Object/JScriptTypeInfo)
- 0 (type: Variant/Object/JScriptTypeInfo)
- orig (type: Variant/String)
- trans (type: Variant/String)
...
- Item 1 (type: Variant/Object/JScriptTypeInfo)
- orig (type: Variant/String)
- trans (type: Variant/String)
...
- server_time
- src
arr.src
うまくいきますが、どうすれば取得できarr.sentences(0).trans
ますか? まず、VBA は に置き換えsentences
られSentences
、次に (手動で json を変更しようとしたときに) まだ使用できませんsentenses(0)
。