JOLT : преобразование одного свойства массива в строку, разделенную запятыми

#arrays #jolt

#массивы #jolt

Вопрос:

ИСПОЛЬЗОВАНИЕ JOLT

Мне нужно преобразовать имена в массиве тегов в строку, разделенную запятыми, заданную как тег.

Ввод:

 tags : [
{
"id" : "1",
"name": "mobile",
"slug": ""
},
{
"id" : "2",
"name": "smart phone",
"slug": ""
},
{
"id" : "3",
"name": "light-weight",
"slug": ""
}
]
  

ВЫВОД:

теги: «мобильный, смартфон, легкий»

Какой должна быть ожидаемая спецификация?

Ответ №1:

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

вывод должен быть Json будет:

 {
  "tags" : [ "mobile", "smart phone", "light-weight" ]
}
  

Комментарии:

1. @Behrouz Seyedi требуемый вывод представляет собой строку, разделенную запятыми, а не массив строк.

2. Как отменить вышеуказанное преобразование? Из списка строк в список карты / словаря.

Ответ №2:

Таким образом.

 [
{
"operation": "shift",
"spec": {
  "tags": {
    "*": {
      "name": "tags.[]"
    }
  }
 }
},
{
  "operation": "modify-overwrite-beta",
  "spec": {
  "tags": "=join(',',@(1,tags))"
  }
 }
]
  

просто используйте метод join для полей, разделенных запятыми