通过VBScript从JSON字符串中检索信息

时间:2018-02-09 15:16:34

标签: json vbscript chilkat

我正在尝试从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

请你帮我理解我做错了什么?谢谢!

1 个答案:

答案 0 :(得分:1)

如果有疑问read the documentation

  

负载(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

有用的链接