1. 程式人生 > >vb6裡解析json資料

vb6裡解析json資料

vb6裡不支援json物件,這裡使用通過引用js來實現json的解析

獲取簡單的json串裡的值

Dim ScriptObj As Object
Dim JsonStr As String
JsonStr = "{""code"":""0"",""msg"":""SUCCESS""}"

Set ScriptObj = CreateObject("MSScriptControl.ScriptControl")
ScriptObj.Language = "JavaScript"
ScriptObj.AddCode "var Json = " & JsonStr & ";"

MsgBox ScriptObj.eval("Json.code")

遍歷json鍵值對較多的複雜json串

Dim ScriptObj As Object
Dim JsonStr, sourceData As String
JsonStr = "{""code"":""0"",""msg"":""SUCCESS"",""data": _
{""AAA"":""111"",""BBB"",""222"",""CCC"",""333"",……}"}"

Set ScriptObj = CreateObject("MSScriptControl.ScriptControl")
ScriptObj.Language = "JavaScript"
ScriptObj.AddCode "var Json = " & JsonStr & ";var result = """";"

'執行js語句,遍歷json物件,可巢狀迴圈
ScriptObj.ExecuteStatement ("for (var key in Json.data) {result += ""|"" + key + "":"" + Json.data[key];}") 

sourceData = ScriptObj.eval("lockinfo")

Dim arrStr() As String
Dim temStr As Variant

arrStr = Split(sourceData, "|")'解析拼接的字串
For Each temStr In arrStr
    If temStr <> Empty Then
		msgbox Split(temStr, ":")(0) & ":" & Split(temStr, ":")(1)
    End If
Next

但是第二種方法效能較差,適用場景有限