Разбор набора объектов JSON с помощью jq - PullRequest
0 голосов
/ 20 ноября 2018

У меня есть большой блок JSON, который я пытаюсь проанализировать, который выглядит в основном как

{
  "order": [
    "hash1",
    "hash2"
  ],
  "posts": {
    "hash4": {
      "id": "hash4",
      "message": "lorem ipsem"
    },
    "hash5": {
      "id": "hash5",
      "message": "dolor sit amet"
    },
    "hash6": {
      "id": "hash6",
      "message": "consectetur adipiscing elit"
    }
  }
}

То, что я до сих пор обрабатывал, это просто grep для сообщений

$ grep 'message' jq_dat.json 
      "message": "lorem ipsem"
      "message": "dolor sit amet"
      "message": "consectetur adipiscing elit"

Это работает для моих текущих целей, но я хотел бы знать, как получить тот же эффект с jq.Т.е.

$ jq .posts.<something>.message < jq_dat.json
"lorem ipsem"
"dolor sit amet"
"consectetur adipiscing elit"

Я пытался использовать [] и {} вместо something, но оба эти сообщения приводят к ошибкам компиляции.

1 Ответ

0 голосов
/ 20 ноября 2018

У вас просто есть одна слишком много точек

jq .posts[].message < jq_dat.json
...