JQ-запрос к JSON-файлу - PullRequest
       11

JQ-запрос к JSON-файлу

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

У меня ниже код в файле JSON.

{
  "comment": {
    "vm-updates": [],
    "site-ops-updates": [
      {
        "comment": {
          "message": "You can start maintenance on this resource"
        },
        "hw-name": "Machine has got missing disks. "
      }
    ]
  },
  "object_name": "4QXH862",
  "has_problems": "yes",
  "tags": ""
}

Я хочу отделить "hw-name" от этого файла JSON, используя jq.Я пробовал приведенные ниже комбинации, но ничего не получалось.

cat jsonfile | jq -r '.comment[].hw-name'
cat json_file.json | jq -r '.comment[].site-ops-updates[].hw-name'

Благодарим за помощь от StackOverflow !!!

1 Ответ

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

Это должно быть:

▶ cat jsonfile | jq -r '.comment."site-ops-updates"[]."hw-name"' 
Machine has got missing disks. 

Или еще лучше:

▶ jq -r '.comment."site-ops-updates"[]."hw-name"' jsonfile    
Machine has got missing disks. 

Из документов :

ЕслиКлюч содержит специальные символы, его необходимо заключить в двойные кавычки, например: ."foo$", или же .["foo$"].

...