我正在尝试从JSON-string获取一些信息。
我找到了example怎么做,并试图适应我的任务:
Dim fso, outFile
Set fso = CreateObject("Scripting.FileSystemObject")
Set outFile = fso.CreateTextFile("output.txt", True)
' A JSON array must be loaded using JsonArray:
set jsonArray = CreateObject("Chilkat_9_5_0.JsonArray")
success = jsonArray.Load("https://api.crypto-bridge.org/api/v1/ticker")
If (success <> 1) Then
outFile.WriteLine(jsonArray.LastErrorText) '!!! "Unable to get array at index 0."
WScript.Quit
End If
' Examine the values:
i = 0
Do While i < jsonArray.Size
' jsonObj is a Chilkat_9_5_0.JsonObject
Set jsonObj = jsonArray.ObjectAt(i)
outFile.WriteLine(i & ": " & jsonObj.StringOf("last"))
i = i + 1
Loop
outFile.Close
我在output.txt中得到的只是
ChilkatLog:
Load:
ChilkatVersion: 9.5.0.71
Unable to get array at index 0.
--Load
--ChilkatLog
请你帮我理解我做错了什么?谢谢!
答案 0 :(得分:1)
负载
(jsonArray As String) As Long
在9.5.0.64版中引入
从字符串加载JSON数组。 JSON数组必须以&#34; [&#34;并以&#34;]&#34;结束。
注意:Load方法导致JsonArray分离并成为它自己的JSON文档。它应该仅在JsonArray的新实例上调用。请参阅下面的示例。
成功返回1,失败则返回0。
Load()
方法需要JSON数组字符串而不是JSON数组的URL。首先使用XHR将JSON下载到字符串中,然后调用jsonArray.Load(download_json_string)
。
XHR的简单例子是;
Dim url, req, json
url = "https://api.crypto-bridge.org/api/v1/ticker"
Set req = CreateObject("Msxml2.XMLHttp.6.0")
Call req.Open("GET", url, False)
Call req.Send()
If req.Status = 200 Then
json = req.responseText
End If