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

但是第二种方法性能较差,适用场景有限

  • 0
    点赞
  • 17
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值