Как мне использовать Jolt, чтобы сгладить массив j-х объектов с ключом? - PullRequest
0 голосов
/ 01 мая 2019

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

Как бы повернуть этот ввод JSON:

{
  "123": [
    {
      "VALUE_ONE": "Y",
      "VALUE_TWO": "12"
    },
    {
      "VALUE_ONE": "N",
      "VALUE_TWO": "2"
    }
  ],
  "456": [
    {
      "VALUE_ONE": "Y",
      "VALUE_TWO": "35"
    }
  ]
}

В этот вывод:

[
  {
    "value_one_new_name": "Y",
    "value_two_new_name": "12",
    "key": "123"
  },
  {
    "value_one_new_name": "N",
    "value_two_new_name": "2",
    "key": "123"
  },
  {
    "value_one_new_name": "Y",
    "value_two_new_name": "35",
    "key": "456"
  }
]

ОБРАТИТЕ ВНИМАНИЕ, что я не знаю, какой ключ ("456", "123" ... и т. Д.) Будет для каждого объекта, поэтому спецификация трюка должна быть достаточно общей для преобразования любых ключей, только известные имена полей "VALUE_ONE" и "VALUE_TWO".

1 Ответ

0 голосов
/ 04 июля 2019

Этот шаг поможет:

    [
  {
    "operation": "shift",
    "spec": {
      "*": {
        "*": {
          "VALUE_ONE": "&2.[&1].value_one_new_name",
          "VALUE_TWO": "&2.[&1].value_two_new_name",
          "$1": "&2.[&1].key"
        }
      }
    }
  },
  {
    "operation": "shift",
    "spec": {
      "*": {
        "*": "[]"
      }
    }
  }
]
...