4、<VBA>学习用刘永富老师插件解析JSON格式数据

这个博客展示了如何在VBA中使用API.JSON库解析嵌套的JSON数据,并提取特定路径下的值,例如路程距离和时间。通过示例代码,解释了如何处理包含数组的JSON数据,以及如何进行字符串的双引号转单引号操作。
Sub 刘永富老师插件学习()
    Dim j As API.JSON
    Set j = New API.JSON
    j.Parse "{'data':{'route':{'destination':'121.473701,31.230416','origin':'118.796877,32.060255','paths':[{'distance':296768,'duration':15060,'restriction':0,'steps':[],'strategy':'时间最短','toll_distance':266428,'tolls':262,'traffic_lights':56}]},'count':1},'errcode':0,'errdetail':null,'errmsg':'OK','ext':null}"

    Debug.Print j.GetSingleValue("$.data.route.paths[0].distance")
    
'    JSON格式数据里多层嵌套JSON格式数据,要按照路径一直走下去。
'    遇到中括号时,就是数组了,这是要用到[0].<属性名>,这种格式
    
    Debug.Print j.GetSingleValue("$.data.route.paths")     '不含[0],返回结果中包括中括号
    Debug.Print j.GetSingleValue("$.data.route.paths[0]")  '括含[0]时,返回结果中没有中括号
  '  Set a = j.GetSingleValue("$.data.route.paths[0]")
    
  '双引号转单引号
    Dim a As String
    a = j.GetSingleValue("$.data.route.paths[0]")
    a = Replace(a, Chr(34), Chr(39))
    Debug.Print a
    
    Dim jj As New API.JSON
    Dim aa() As String
    jj.Parse (a)
    Debug.Print jj.GetSingleValue("distance")
    aa = jj.Values
    aa = jj.Keys
 '   Debug.Print aa()

    End Sub

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值