Создание неявного массива в jolt - PullRequest
0 голосов
/ 23 октября 2018

Вход:

{
  "categories": {
    "1": {
      "name": "Books"
    },
    "2": {
      "name": "Games"
    }
  }
}

Спецификация:

[
  {
    "operation": "shift",
    "spec": {
      "categories": {
        "*": {
          "@": "categories"
        }
      }
    }
  }
]

Выход (массив категорий):

{
  "categories" : [ {
    "name" : "Books"
  }, {
    "name" : "Games"
  } ]
}

Другой вход только с одним элементом

{
  "categories": {
    "1": {
      "name": "Books"
    }
  }
}

Вывод:

{
  "categories" : {
    "name" : "Books"
  }
}

Я ожидал, что вывод будет массивом категорий, содержащим только один элемент.Почему эта спецификация не создает массив при наличии одного элемента?

1 Ответ

0 голосов
/ 24 октября 2018

Мне удалось решить эту проблему с помощью следующего преобразования:

[
  {
    "operation": "shift",
    "spec": {
      "*": {
        "*": "categories[#1]"
      }
    }
  }
]
...