我有一個JSON象下面這樣:如何使用VBA解析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)
。
可能重複http://stackoverflow.com/questions/6627652/parsing-json-in-excel-vba)看看[第一個答案](http://stackoverflow.com/a/7300926/1316573) –
[用**示例文件**解析使用VBA的JSON] (http://stackoverflow.com/questions/16817545/handle-json-object-in-xmlhttp-response-in-excel-vba-code/16851758#16851758) – Santosh
@DanielCook,我的Excel 2010的doe不會從該答案中識別ScriptControl。 –