先说说前提,一般大家在网上都可以搜索到以下这段代码:
出处: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
懂的应该懂,不懂的就直接抄作业吧。和大家分享一下,希望能用得上,谢谢
正文完