Преобразовать простой массив в числовой ключ и значение - PullRequest
0 голосов
/ 15 февраля 2019

Я действительно борюсь с этой простой задачей.Я пытаюсь преобразовать это:

[
    "arn:aws:iam::123456789012:role/masters.a.eu.somewhere.com",
    "arn:aws:iam::123456789012:role/masters.b.eu.somewhere.com",
    "arn:aws:iam::123456789012:role/masters.c.eu.somewhere.com"
]

Во что-то вроде этого:

{
    "0": "arn:aws:iam::123456789012:role/masters.a.eu.somewhere.com",
    "1": "arn:aws:iam::123456789012:role/masters.b.eu.somewhere.com",
    "2": "arn:aws:iam::123456789012:role/masters.c.eu.somewhere.com"
}

Используя только JQ.Я пытался использовать to_entries, но я не получаю желаемый результат.Любые предложения приветствуются.

1 Ответ

0 голосов
/ 16 февраля 2019

По общему признанию, это не очевидно, но очень короткое решение:

with_entries(.key |= tostring)

Более пешеходное, но все же вполне респектабельное решение будет:

. as $in
| reduce range(0;length) as $i ({}; . + {($i|tostring): $in[$i]})
...