新建From1(窗体),代码:
Private Sub Form_Load()
    Dim ScriptObj As Object
    Dim s$: s = "{'code':'2','a': {'arr': [1,2,3,4,5] }, 'b': {'b': 6} }"
    
    Set ScriptObj = CreateObject("MSScriptControl.ScriptControl")
    ScriptObj.Language = "JavaScript"
    ScriptObj.AddCode "var Json = " & s & ";"
    Debug.Print ScriptObj.eval("Json.code")
    Debug.Print ScriptObj.eval("Json.a.arr[0]")
    Debug.Print ScriptObj.eval("Json.b.b")
End Sub可以看到我们的Json数据,实际上在代码中可以先把双引号替换成单引号放在代码中:
Dim s$: s = "{""a"": {""arr"": [1,2,3,4,5] }, ""obj"": {""b"": 6} }"
或
Dim s$: s = "{'code':'2','a': {'arr': [1,2,3,4,5] }, 'b': {'b': 6} }"运行结果:
2
 1 
 6复杂点:
Private Sub Form_Load()
    Dim ScriptObj As Object
    Dim s$: s = "{'code':'2','a': {'arr': [1,2,3,4,5] }, 'b': {'b1': {'b2':{'b3':789}}} }"
    
    Set ScriptObj = CreateObject("MSScriptControl.ScriptControl")
    ScriptObj.Language = "JavaScript"
    ScriptObj.AddCode "var Json = " & s & ";"
    Debug.Print ScriptObj.eval("Json.b.b1.b2.b3")
End Sub运行结果:
 789各级只要加点就行。
