Как извлечь строку из массива с помощью jq?

Как я могу извлечь значение "0.9212835072256392" из массива value с помощью jq?

{
  "resultType": "vector",
    "result": [
      {
        "metric": {},
        "value": [
          1608561506.684,
          "0.9212835072256392"
        ]
      }
    ]
 }

Я пробовал разные решения, такие как jq '.result.value[1]'. Это дает мне сообщение об ошибке jq: error (at <stdin>:1): Cannot index array with string "value".

Как сделать HTTP-запрос в Javascript?
Как сделать HTTP-запрос в Javascript?
В JavaScript вы можете сделать HTTP-запрос, используя объект XMLHttpRequest или более новый API fetch. Вот пример для обоих методов:
0
0
549
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Если вы можете использовать жестко закодированный индекс в массиве value, вы можете использовать:

.result[] | .value[1]

Онлайн демо @ jqplay


Или, как предложили @vgersh99 и @ikegami, используя .value[-1] для получения последнего индекса:

.result[] | .value[-1]

Онлайн демо @ jqplay

или без проводки: .result[] | .value[length-1]

vgersh99 21.12.2020 16:26

Другие вопросы по теме