Найти в Дзене

Утилита CURL - форматирование вывода JSON-ответов

CURL ( https://curl.haxx.se/ ) - кроссплатформенная служебная программа командной строки, позволяющая взаимодействовать с множеством различных серверов по множеству различных протоколов с синтаксисом URL. Одна из частых задач, это управление различными сервисами по REST API. Например при работе с ElasticSearch, сложно придумать что-то более удобное и удачное чем CURL. Но есть одна неприятность, вывод неформатированных сообщений в формате JSON практически не читаем, но это можно легко исправить,если скачать утилиту jq-утилиту ( https://stedolan.github.io/jq/ ). Инструкция Пример (без использования jq-утилиты): >> curl https://data.fixer.io/api/latest Пример (с использованием jq-утилиты): >> curl https://data.fixer.io/api/latest | jq Как видите, так гораздо удобнее! На этом возможности jq-утилиты не ограничиваются, обо всех возможностях можно прочитать в документации, а здесь я приведу несколько примеров, которые мне часто помогали в работе. При помощи нее можно фильтровать и извлекат

CURL ( https://curl.haxx.se/ ) - кроссплатформенная служебная программа командной строки, позволяющая взаимодействовать с множеством различных серверов по множеству различных протоколов с синтаксисом URL.

Одна из частых задач, это управление различными сервисами по REST API.

Например при работе с ElasticSearch, сложно придумать что-то более удобное и удачное чем CURL.

Но есть одна неприятность, вывод неформатированных сообщений в формате JSON практически не читаем, но это можно легко исправить,если скачать утилиту jq-утилиту ( https://stedolan.github.io/jq/ ).

Инструкция

  1. Скачиваем CURL с https://curl.haxx.se/download.html, например в папку c:\tools\curl
  2. Скачиваем jq-утилиту с https://stedolan.github.io/jq/ , в туже папку, куда и CURL
  3. Далее нужно прописать папку, куда мы сохранили наши утилиты в системного окружение. В Windows нажмите правой кнопкой мыши на значке "Мой компьютер", выберите "Свойства", в появившемся окне выбираем пункт "Дополнительные параметры системы", в появившемся окне "Переменные среды...", к переменной PATH добавляем через точку с запитой путь к папке.
  4. Далее вызываем CURL с необходимыми параметрами и в конце добавляем | jq.

Пример (без использования jq-утилиты):

>> curl https://data.fixer.io/api/latest

Вывод без использования jq-утилиты
Вывод без использования jq-утилиты

Пример (с использованием jq-утилиты):

>> curl https://data.fixer.io/api/latest | jq

-3

Как видите, так гораздо удобнее!

На этом возможности jq-утилиты не ограничиваются, обо всех возможностях можно прочитать в документации, а здесь я приведу несколько примеров, которые мне часто помогали в работе.

При помощи нее можно фильтровать и извлекать параметр, например по имени:

>> curl https://data.fixer.io/api/latest | jq ".success"

-4

Можно сразу сделать преобразования результата (прибавить 100 к результату):

>> curl https://data.fixer.io/api/latest | jq .error.code+100

-5

И т.д.