VBScript 目前沒有能夠直接解析 JSON 語句的能力,
但是 Javascript 可以,
所以在我們的 VBA 需要解析 JSON 時,
可以移用 WSF 檔可以同時存在 VBScript 和 Javascript 的特性,
讓 Javascript 幫助 VBScript 解析 JSON,
以下給出一個範例:
jsonParseTest.wsf:
<package> <job id=XXX> <script language="JScript"> Array.prototype.get = function(x) { return this[x]; }; function parseJSON(jsonStr){ return eval("(" + jsonStr + ")"); } </script> <script language="VBScript"> Dim jsonStr, jsonObj jsonStr = "{a:""aaa"", b:{ name:""bb"", value:""text"" }, c:[""item0"", ""item1"", ""item2""]}" Set jsonObj = parseJSON(jsonStr) WScript.Echo((jsonObj.c).get(0)) ' "item0" WScript.Echo(jsonObj.a) ' "aaa" WScript.Echo(jsonObj.b.name) ' "bb" </script> </job> </package>
輸入 (假設 jsonParseTest.wsf 放D槽)
wscript (WScript.Echo 會用彈跳視窗的方式顯示內容)
wscript (WScript.Echo 會用彈跳視窗的方式顯示內容)
或 cscript (WScript.Echo 會將內容顯示在命令列(cmd)視窗中) :
wscript D:\jsonParseTest.wsf
或
cscript D:\jsonParseTest.wsf
結果如下圖:
沒有留言 :
張貼留言