VBS/WSH/JS - Получения значения из JSON-страницы посредством VBScript

Ответить
Аватара пользователя
The_Immortal

VBS/WSH/JS - Получения значения из JSON-страницы посредством VBScript

Сообщение The_Immortal »

Приветствую!



Господа, пытаюсь извлечь нужную информацию вот из этой
JSON-страницы
.



Нашел готовый
пример
, как это делается с помощью сторонней библиотеки (Chilkat ActiveX) и попытался адаптировать его для себя:



Код:

Код: Выделить всё

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

Полагаю проблема в том, что я неправильно загружаю указанную страницу. Честно говоря, она вообще какая-то странная: при попытке обратиться к ней через IE тот воспринимает её как файл ticker.json[/i], а вот Mozilla показывает в виде JSON-строки... =/



Подскажите, пожалуйста, как с таким работать?



Спасибо!
Аватара пользователя
Patroklos

Re: VBS/WSH/JS - Получения значения из JSON-страницы посредством VBScript

Сообщение Patroklos »

Пожалуй самый простой способ работать с json это jq. Но пока не ясно что именно тебе нужно.

Опиши задачу в развёрнутом виде. Это файл с котировками виртуальных валют?

Какая именно информация нужна? В каком виде?

Простейшее решение: Скачай файл по своей ссылке.

Скачай эту прогу:
http://mitec.cz/jsonv.html


Открой файл программой.

ПодумОй хорошенько надо ли оно тебе Изображение
Аватара пользователя
Serguei Kouzmine

Re: VBS/WSH/JS - Получения значения из JSON-страницы посредством VBScript

Сообщение Serguei Kouzmine »

пош ?



```

$url = '
https://api.crypto-bridge.org/api/v1/ticker
'

$tmp_filename = "${env:TEMP}/a.json"

$client = new-object System.Net.WebClient

$client.DownloadFile($url, $tmp_filename )

$data = get-content $tmp_filename | convertFrom-json

$data | select-object -first 10 | select-object -expandproperty last







```

дает

```



0.00039087

0.00000000

0.00013000

```



c jq синтакс будет

``

type "${env:TEMP}/a.json" | jq-win64.exe .[].last

```



и получится





```

"0.00039087"

"0.00000000"

"0.00013000"

"0.00018000"

"0.00000725"

```



как выбрать часть вектора чисто средствани `jq`, я пока не знаю
Ответить

Вернуться в «Скриптовые языки администрирования Windows»