React + AWS Cognito: запретить вход на панель администратора с помощью пользователя низкого уровня

Существует ряд инструментов, специально предназначенных для управления JSON из командной строки, и будет намного проще и надежнее, чем делать с Awk, например jq :

curl -s 'https://api.github.com/users/lambda' | jq -r '.name'

Вы также можете сделать это с помощью инструментов, которые, вероятно, уже установлены в вашей системе, например Python, с помощью модуля json , и поэтому избегайте любых дополнительных зависимостей, в то время как по-прежнему пользуясь надлежащим парсером JSON. Далее предполагается, что вы хотите использовать UTF-8, который должен быть закодирован в оригинальном JSON, и это то, что используют большинство современных терминалов:

Python 2:

export PYTHONIOENCODING=utf8
curl -s 'https://api.github.com/users/lambda' | \
    python -c "import sys, json; print json.load(sys.stdin)['name']"

Python 3:

curl -s 'https://api.github.com/users/lambda' | \
    python3 -c "import sys, json; print(json.load(sys.stdin)['name'])"

Исторические заметки

Этот ответ первоначально рекомендовал jsawk , который все равно должен работать, но немного более громоздким в использовании, чем jq и зависит от установленного автономного интерпретатора JavaScript, который менее распространен, чем интерпретатор Python, поэтому предпочтительные ответы, вероятно, предпочтительнее:

curl -s 'https://api.github.com/users/lambda' | jsawk -a 'return this.name'

Этот ответ также изначально использовал API Twitter из вопроса, но этот API больше не работает, что затрудняет копирование примеров для тестирования, а новый API Twitter требует API-ключей, поэтому я переключился на использование API GitHub, который можно легко использовать без ключей API. Первый ответ на исходный вопрос:

curl 'http://twitter.com/users/username.json' | jq -r '.text'

0
задан AlleyOOP 25 March 2019 в 05:13
поделиться