Как сопоставить значение элемента JSON с массивом одного уровня с помощью JQ - PullRequest
0 голосов
/ 09 января 2019

Имея json как

[
  {
    "parent": "x",
    "children": ["a", "b"]
  },
  {
    "parent": "y",
    "children": ["c", "d", "e"]
  }
]

как преобразовать его с помощью jq в массив элементов "[parent, child_order_number, child]", таких как

[
  ["x", 0, "a"],
  ["x", 1, "b"],
  ["y", 0, "c"],
  ["y", 1, "d"],
  ["y", 2, "e"]
]

1 Ответ

0 голосов
/ 09 января 2019
jq -c '[.[] | range(.children|length) as $i | [.parent, $i, .children[$i]]]' file

Выходы:

[["x",0,"a"],["x",1,"b"],["y",0,"c"],["y",1,"d"],["y",2,"e"]]
...