извлечь первый элемент массива с помощью Jolt - PullRequest
0 голосов
/ 09 мая 2020

Я новичок в Jolt, я пытаюсь добиться следующего:

Вход:

{
  "A": [1,2,3],
  "B": "b",
  "C": ["4","5","6"]
}

Выход:

{
  "A" : 1,
  "B" : "b",
  "C" : "4"
}

Мне нужно извлечь первый element, если ключ является массивом, оставьте значение ключа таким, как оно есть в других случаях. Я пришел к следующему выражению:

[
  {
    "operation": "shift",
    "spec": {
      "*": {
        "0": "&1"
      },
      "B": "&"
    }
  }
]

Проблема здесь в том, что я должен указать ключ «B», поскольку у меня может быть много этих ключей, это решение не подходит для меня. Есть способ сделать это без указания всех названий ключей?

1 Ответ

0 голосов
/ 04 июня 2020

Вы можете использовать функцию списка firstElement из modify-overwrite-beta

[
  {
    "operation": "modify-overwrite-beta",
    "spec": {
      "*": "=firstElement(@(1,&))"
    }
  }
]
...