У меня есть 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
содержит значения, подобные приведенным ниже (отмеченные в часах):
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)
.