Толчок для преобразования массива json в один элемент - PullRequest
0 голосов
/ 20 января 2020

Ниже показаны 2 записи в документе JSON (у меня их будет больше 2):

[{
    "abc": [{
        "value": 44.636914,
        "testName": "1 Month",
        "date": "2020-02-14"
    },
    {
        "value": -0.117243,
        "testName": "1 Week",
        "date": "2020-01-21"    
    }],
    "currency": "CAD",
    "date2": "2020-01-14",
    "id": "W38450"
}
{
    "abc": [{
        "value": -0.873175,
        "testName": "1 Month",
        "date": "2020-02-14"
    },
    {
        "value": 0.005599,
        "testName": "1 Week",
        "date": "2020-01-21"    
    },
    {
        "value": 0.001231,
        "testName": "11 Week",
        "date": "2020-02-21"    
    }],
    "currency": "CAD",
    "date2": "2020-01-14",
    "id": "W38209"
}]

Я хотел бы использовать jolt для преобразования массива в "ab c" как одно значение

желаемый результат:

[{
    "abc": "[{'value': 44.636914,'testName': '1 Month','date': '2020-02-14'},{'value': -0.117243,'testName': '1 Week','date': '2020-01-21'}]",
    "currency": "CAD",
    "date2": "2020-01-14",
    "id": "W38450"
}
{
    "abc": "[{'value': -0.873175,'testName': '1 Month','date': '2020-02-14'},{'value': 0.005599,'testName': '1 Week','date': '2020-01-21'},{'value': 0.001231,'testName': '11 Week','date': '2020-02-21'}]",
    "currency": "CAD",
    "date2": "2020-01-14",
    "id": "W38209"
}]

Обратите внимание, что размер массива "ab c" не является постоянным, и я думаю, что обязательно нужно изменить двойную кавычку (") на одинарная кавычка ('). Пожалуйста, посоветуйте решение, используя Jolt.

1 Ответ

0 голосов
/ 20 января 2020

Вот образец структуры. Теперь осталось объединить с функцией concat.

[
  {
    "operation": "shift",
    "spec": {
      "*": {
        "abc": {
          "*": {
            "*": {
              "$": "[&4].toConcat[&2]",
              "@": "[&4].toConcat[&2]"
            }
          }
        },
        "currency": "[&1].currency",
        "date2": "[&1].date2",
        "id": "[&1].id"
      }
    }
  },
  {
    "operation": "modify-default-beta",
    "spec": {
      "*": {
        "abc": "=join(',',@(1,toConcat))"
      }
    }
  }
]
...