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
結果如下圖:
沒有留言 :
張貼留言