Git statistics API JSON

#json #git

#json #git

Вопрос:

Я хочу получить количество коммитов в день в час. С помощью следующей команды я могу получить выходные данные в формате json. Однако я хотел бы знать, могу ли я добавить ключ к значениям в формате json с помощью командной строки?

 curl https://api.github.com/repos/test/myrepo/stats/punch_card
  

Текущий вывод:

 [
    0,
    2,
    32
]
  

Ожидаемый результат:

 [
    day: 0,
    hour: 2,
    commits: 32
]
  

Комментарии:

1. Насколько указано в документах GitHub API , API не выдает ключи вместе с этими значениями.

Ответ №1:

Поскольку вы не указали ничего, кроме «командной строки», я предполагаю, что вам нужно bash решение на основе a. Этот простой (хотя и довольно уродливый) скрипт будет делать то, что вы хотите, сохраняя при этом отступ (кроме закрывающей квадратной скобки общего ответа):

 #!/bin/bash

resp=$(curl https://api.github.com/repos/test/myrepo/stats/punch_card)

nextPref=""
for val in $resp
do
    echo "$nextPref $val"
    if [[ $val == "[" amp;amp; $nextPref == "" ]]
    then
        nextPref="      "
    elif [[ $val == "[" amp;amp; $nextPref == "   " ]]
    then
        nextPref="              day:"
    elif [[ $nextPref == "          day:" ]]
    then
        nextPref="              hour:"
    elif [[ $nextPref == "          hour:" ]]
    then
        nextPref="              commits:"
    elif [[ $nextPref == "          commits:" ]]
    then
        nextPref="      "
    fi
done