vba-处理json


关键字:vba,json


9.4 vba解析json
数组模式
https://blog.csdn.net/iamlaosong/article/details/53540520

9.5 32/64位通用方法-直接获取key_value
Sub 获取json_sub()
Dim str As String
' str = "{""usrName"":""lili""}"
str = "{""code"":""0"",""data1"":{""expire"":7200000,""refreshToken"":""23bdf842b6b24831873281219fad9e3a"",""abcdef"":""1"",""token"":""01c4798af7a34564846f2c5221879530""},""message"":"""",""trackId"":""ba8c75ad2a1149afa7ff57a5432e70fe""}"
' 要获取name的值

nameString = getJob(str, "usrName")

' MsgBox nameString

End Sub


Function getJob(jsonString As String, key As String)

Dim strFunc, objSC, objJSON


Dim objHTML, objJSy, objWin As Object

On Error Resume Next
Set objHTML = CreateObject("HTMLFile")
Set objWin = objHTML.parentWindow
objWin.execScript "var json = " & jsonString, "JScript"


objWin.execScript "var json_tr = json ;", "JScript"
Set objJSy = objWin.json_tr

MsgBox objJSy.trackId

End Function


9.6 32/64通用方法json中的json
Sub 获取json_sub()
Dim str As String
' str = "{""usrName"":""lili""}"
str = "{""code"":""0"",""data22"":{""expire"":7200000,""refreshToken"":""23bdf842b6b24831873281219fad9e3a"",""abcdef"":""1"",""token"":""01c4798af7a34564846f2c5221879530""},""message"":"""",""trackId"":""ba8c75ad2a1149afa7ff57a5432e70fe""}"
' 要获取name的值

nameString = getJob(str, "usrName")

' MsgBox nameString

End Sub


Function getJob(jsonString As String, key As String)

Dim strFunc, objSC, objJSON


Dim objHTML, objJSy, objWin As Object

On Error Resume Next
Set objHTML = CreateObject("HTMLFile")
Set objWin = objHTML.parentWindow
objWin.execScript "var json = " & jsonString, "JScript"

objWin.execScript "var json_tr = json ;", "JScript"
Set objJSy = objWin.json_tr

Set da_var = objJSy.data22

MsgBox da_var.token

End Function

vba