vb6裡解析json資料
阿新 • • 發佈:2018-12-10
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
但是第二種方法效能較差,適用場景有限