Преобразовать карту в список - PullRequest
0 голосов
/ 18 июня 2019

Я пытаюсь преобразовать карту объекта в json в List, используя JQ ...

Источник:

{
  "title": "title",
  "keyword": "keyword",
  "desc": {
    "user1": {
      "name": "kumar",
      "Duration": null,
      "Time": null,
      " Dominance": "Upper Field First"
    },
    "user2": {
      "id": "user2",
      "name": "user2",
      "Duration": null,
      "Time": null,
      " Dominance": "Upper Field First"
    }
  }
}

Цель:

[
  {
    "id": "user1",
    "name": "kumar",
    "Duration": null,
    "Time": null,
    "Dominance": "Upper Field First"
  },
  {
    "id": "user2",
    "name": "user2",
    "Duration": null,
    "Time": null,
    "Dominance": "Upper Field First"
  }
]

Я пробовал разные варианты, например, но не смог получить нужную мне вещь.

  1. .desc | . as $in| keys[]
  2. to_entries

JQ Workspace ::: https://jqplay.org/s/MiJ9w1Sz5L

1 Ответ

1 голос
/ 18 июня 2019

Следующий фильтр будет делать то, что вы хотите, при условии, что вы исправили ввод:

.desc
| to_entries
| map( {id: .key} + .value)

Чтобы понять это, просто прочитайте to_entries в онлайн-руководстве (см. ).

...