Задать вопрос
Vmelnikoff
@Vmelnikoff
PHP разработчик

Как отформатировать вывод JSON от GITHUB через bash?

Получаю курлом стандартный json своих репозиториев через апи гитхаба, на выходе массив вида:
[
{
"id": 1296269,
"name": "Hello-World",
"full_name": "octocat/Hello-World",
...
"created_at": "2011-01-26T19:01:12Z",
"updated_at": "2011-01-26T19:14:43Z",
...
},
{
"id": 1296270,
"name": "Hello-World2",
"full_name": "octocat/Hello-World2",
...
"created_at": "2011-01-26T19:01:12Z",
"updated_at": "2011-01-26T19:14:43Z",
...
}
]

Хочу получить на выходе построчную выдачу с оформлением, в духе
Репозиторий: Hello-World === Создан: 2011-01-26 в 19:01:12
Репозиторий: Hello-World2 === Создан: 2011-01-26 в 19:01:12

Ну или проще
Hello-World 2011-01-26T19:01:12Z
Hello-World2 2011-01-26T19:01:12Z

Что получилось сделать самому:
jq '.[] | [.name, .created_at]'
На выходе получаю массивы

[
"Hello-World",
"2017-05-18T14:39:47Z"
]
[
"Hello-World2",
"2017-12-26T12:27:11Z"
]
...

Возможно ли улучшить выдачу?
  • Вопрос задан
  • 127 просмотров
Подписаться 1 Средний Комментировать
Решения вопроса 1
xotkot
@xotkot
хорошо есть и хорошо весьма
varJson='[
{
"id": 1296269,
"name": "Hello-World",
"full_name": "octocat/Hello-World",
"created_at": "2011-01-26T19:01:12Z",
"updated_at": "2011-01-26T19:14:43Z"
},
{
"id": 1296270,
"name": "Hello-World2",
"full_name": "octocat/Hello-World2",
"created_at": "2011-01-26T19:01:12Z",
"updated_at": "2011-01-26T19:14:43Z"
}
]'


echo "$varJson" | jq -r '.[] | "\(.name) \(.created_at)"'


Hello-World 2011-01-26T19:01:12Z
Hello-World2 2011-01-26T19:01:12Z
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

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