Имя пользователя:
Пароль:  
Помощь | Регистрация | Забыли пароль?  | Правила  

Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » VBS/WSH/JS - Получения значения из JSON-страницы посредством VBScript

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

Ветеран


Сообщения: 1639
Благодарности: 50

Профиль | Отправить PM | Цитировать


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

Господа, пытаюсь извлечь нужную информацию вот из этой 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, а вот Mozilla показывает в виде JSON-строки... =/

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

Спасибо!

Отправлено: 19:50, 09-02-2018

 

Пользователь


Сообщения: 87
Благодарности: 4

Профиль | Отправить PM | Цитировать


Пожалуй самый простой способ работать с json это jq. Но пока не ясно что именно тебе нужно.
Опиши задачу в развёрнутом виде. Это файл с котировками виртуальных валют?
Какая именно информация нужна? В каком виде?
Простейшее решение: Скачай файл по своей ссылке.
Скачай эту прогу: http://mitec.cz/jsonv.html
Открой файл программой.
ПодумОй хорошенько надо ли оно тебе

Отправлено: 22:42, 09-02-2018 | #2



Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети.

Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля.


Старожил


Сообщения: 250
Благодарности: 51

Профиль | Отправить PM | Цитировать


пош ?

```
$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`, я пока не знаю

Последний раз редактировалось Serguei Kouzmine, 11-02-2018 в 17:03.


Отправлено: 23:59, 10-02-2018 | #3



Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » VBS/WSH/JS - Получения значения из JSON-страницы посредством VBScript

Участник сейчас на форуме Участник сейчас на форуме Участник вне форума Участник вне форума Автор темы Автор темы Шапка темы Сообщение прикреплено

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
VBS/WSH/JS - Прокси-подключение VBScript - VBScript/JScript asheludko Скриптовые языки администрирования Windows 0 15-01-2018 00:00
Любой язык - JSON: settings.json в Visual Studio Code прокси jkadaba Скриптовые языки администрирования Windows 0 14-04-2017 08:10
Любой язык - [решено] Как вытащить ссылки из файла .json ? Extazik Скриптовые языки администрирования Windows 8 19-10-2015 14:14
VBS/WSH/JS - VBScript написать функции считывания таблицы данных из текстового файла evgenmsch@vk Скриптовые языки администрирования Windows 3 18-02-2014 07:20
[решено] подставлять значения в зависимости от открытой страницы PhP binders Вебмастеру 11 05-10-2009 00:53




 
Переход