Преобразование Толчка, чтобы данные элемента были ключом, а значение - данными других элементов

Мне нужно выполнить преобразование Джолта на примере JSON ниже:

[ {
  "name" : "foo",
  "dataSample" : "red"
}, {
  "name" : "bar",
  "dataSample" : "amber"
}]

Мне нужен вывод, чтобы выглядеть так:

{
    "foo": "red",
    "bar": "amber"
}

до сих пор мне удалось извлечь значение имени в качестве ключа, но я потерял, как получить значение dataSample в качестве значения для преобразованного элемента. Вот сценарий Jolt, который у меня есть:

[
  {
    "operation" : "shift",
    "spec" : {
      "*" : {
         "name" : {
           "*" : "&"
         }
      }
    }
  }
]

1 ответ

Вам нужно вернуться вверх по дереву, чтобы получить значение поля "имя", а не использовать текущее значение (&). Это должно работать:

[
  {
    "operation": "shift",
    "spec": {
      "*": {
        "name": {
          "@(1,dataSample)": "@(2,name)"
        }
      }
    }
  }
]
[
  {
    "operation": "shift",
    "spec": {
      "*": {
        "dataSample": "@(1,name)"
      }
    }
  }
]
Другие вопросы по тегам