Извлечь значение из документа JSON, возвращенного curl

Это можно сделать, добавив определенную команду раскладки клавиатуры в файл .desktop , сохраненный в ~ / .local / share / applications вместе с другими файлами рабочего стола, к которым могут получить доступ такие программы запуска, как Synapse.

Команда раскладки клавиатуры для выбора определенной раскладки выглядит примерно так:

setxkbmap us intl

При необходимости замените us на желаемый язык и intl на вариант.

Для французского языка это должно быть setxkbmap fr . И т.д. Список всех возможных раскладок клавиатуры и других параметров можно найти в: /usr/share/X11/xkb/rules/xorg.lst .

Файл рабочего стола должен иметь форму, подобную

[Desktop Entry]
Name=US - Keyboard US International dead Keys
Exec=setxkbmap us intl
Icon=path/to/some/icon/file
Terminal=false
Type=Application
Categories=Application;Utility;

enter image description here

1
22.06.2018, 11:50
2 ответа
$ curl "https://tools.keycdn.com/geo.json?host={18.205.6.240}" 2>/dev/null | jq -r '.data.geo.country_name'
United States

Выражение jq.data.geo.country_nameизвлекает данный элемент в документе JSON, возвращенном из конечной точки, к которой вы обращаетесь с помощью curl.

4
27.01.2020, 23:18

Если вы также можете использовать приведенную ниже версию :Ниже представлен вывод REST API:

{
  "error": "none",
  "message": "Success",
  "data": {
    "name": "Vishal Biradar",
    "userId": 1,
  }
}

Ниже приведен код скрипта, показывающий, как мы можем его прочитать.

#!/bin/bash
LOGIN_DATA=$(\
    curl -d "email=abcd@gmail.com&password=abcd123" \
    http://localhost:1234/login \
    | python -c "import sys, json; print json.load(sys.stdin)['data']['name']"\
)
echo "LOGIN_DATA=$LOGIN_DATA"
1
27.01.2020, 23:18

Теги

Похожие вопросы