我尝试运行此代码:
Dim jsonString, jsonDictionary
jsonString = "{ ""name"": ""John"", ""age"": 30, ""city"": ""New York"" }"
Set jsonDictionary = JSONToDictionary(jsonString)
MsgBox(jsonDictionary.Item("name")) ' -> "John"
MsgBox(jsonDictionary.Item("age")) ' -> 30
MsgBox(jsonDictionary.Item("city")) ' -> "New York"
Function JSONToDictionary(jsonString)
' Crea un objeto de script
Set jsonObject = CreateObject("ScriptControl")
' Establece la sintaxis JSON como el lenguaje de script
jsonObject.Language = "JScript"
' Utiliza el método eval() del objeto de script para parsear la cadena JSON
Set jsonDictionary = eval("(" + jsonString + ")")
' Devuelve el objeto diccionario
JSONToDictionary = jsonDictionary
End Function
但是我收到错误:“ActiveX 组件无法创建对象:'ScriptControl'”。 我还收到错误:“系统:启用 BTT 时不支持此操作”。
我已经尝试了一切,但还是不行,你知道如何解决吗?
(转载自上面 LesFerch 的评论)
听起来您正在使用 64 位版本的 WScript 或 CScript 运行脚本,同时尝试使用 32 位 COM 对象。尝试在 32 位模式下运行脚本。即,使用
C:\Windows\SysWOW64\wscript.exe
或 C:\Windows\SysWOW64\cscript.exe
。