VB6下JSON解析器[完美修改版]

6,412次阅读
没有评论

先说说前提,一般大家在网上都可以搜索到以下这段代码:
出处:https://blog.csdn.net/bakw/article/details/51035338

Public Function JSONParse(ByVal JSONPath As String, ByVal JSONString As String) As Variant
    Dim JSON As Object
    Set JSON = CreateObject("MSScriptControl.ScriptControl")
    JSON.Language = "JScript"
    JSONParse = JSON.eval("JSON=" & JSONString & ";JSON." & JSONPath & ";")
    Set JSON = Nothing
End Function

一般来说平常处理没什么问题,但如果刚好处理的譬如是一个订单号,源码里不是用字符串来存储,超过15位了以后,返回的就是一个科学计数法的数字,这样你抓取过来就有问题了。为了能抓取得一模一样,所以我们需要把抓过来的数字在转为科学计数法前先转为字符型,尝试前面加Cstr失败,然后再想想以前自学的半桶水js,结合网上的一些搜索结果,改进后成功获取,源码变为:

Public Function JSONParse(ByVal JSONPath As String, ByVal JSONString As String) As Variant
    Dim JSON As Object
    Set JSON = CreateObject("MSScriptControl.ScriptControl")
    JSON.Language = "JScript"
    JSONParse = JSON.eval("JSON=" & JSONString & ";JSON." & JSONPath & ".toString();")
    Set JSON = Nothing
End Function

懂的应该懂,不懂的就直接抄作业吧。和大家分享一下,希望能用得上,谢谢

正文完
 0
评论(没有评论)