JOLT преобразование: подобъект в верхний объект - PullRequest
0 голосов
/ 29 мая 2020

Использую Apache НИФИ. Мне нужно преобразовать JSON в JSON с помощью процессора JoltTransform JSON. У меня есть JSON:

[ {
  "code" : "01.11.11.111-00001",
  "version" : "1",
  "inclusionDate" : "2018-06-16T05:53:14+04:00",
  "publishDate" : "2018-06-16T05:53:14+04:00",
  "name" : "????",
  "actual" : "false",
  "applicationDateStart" : "2018-06-16T00:00:00+04:00",
  "applicationDateEnd" : "2018-06-16T00:00:00+04:00",
  "cancelInfo" : {
    "cancelDate" : "2018-06-17T00:00:00+04:00",
    "cancelReason" : "????????? ???? ????????? ?????????? ??????? ????."
  },
  "nsiDescription" : "",
  "isTemplate" : "false",
  "noNewFeatures" : "false"
}, {
  "code" : "01.11.11.111-00002",
  "version" : "1",
  "inclusionDate" : "2018-06-21T04:21:14+04:00",
  "publishDate" : "2018-06-21T04:21:14+04:00",
  "name" : "????",
  "actual" : "false",
  "applicationDateStart" : "2018-06-21T00:00:00+04:00",
  "applicationDateEnd" : "2018-06-22T00:00:00+04:00",
  "cancelInfo" : {
    "cancelDate" : "2018-06-22T00:00:00+04:00",
    "cancelReason" : "????????? ???? ????????? ?????????? ??????? ????."
  },
  "isTemplate" : "false",
  "noNewFeatures" : "false"
} ]

Как я могу преобразовать эту часть JSON

  "cancelInfo" : {
    "cancelDate" : "2018-06-22T00:00:00+04:00",
    "cancelReason" : "????????? ???? ????????? ?????????? ??????? ????."
  },

в этот JSON. Преобразование с помощью JOLT.

[ {
  "code" : "01.11.11.111-00001",
  "version" : "1",
  "inclusionDate" : "2018-06-16T05:53:14+04:00",
  "publishDate" : "2018-06-16T05:53:14+04:00",
  "name" : "????",
  "actual" : "false",
  "applicationDateStart" : "2018-06-16T00:00:00+04:00",
  "applicationDateEnd" : "2018-06-16T00:00:00+04:00",
  "cancelDate" : "2018-06-17T00:00:00+04:00",
  "cancelReason" : "????????? ???? ????????? ?????????? ??????? ????.",
  "nsiDescription" : "",
  "isTemplate" : "false",
  "noNewFeatures" : "false"
}, {
  "code" : "01.11.11.111-00002",
  "version" : "1",
  "inclusionDate" : "2018-06-21T04:21:14+04:00",
  "publishDate" : "2018-06-21T04:21:14+04:00",
  "name" : "????",
  "actual" : "false",
  "applicationDateStart" : "2018-06-21T00:00:00+04:00",
  "applicationDateEnd" : "2018-06-22T00:00:00+04:00",
  "cancelDate" : "cancelDate" : "2018-06-22T00:00:00+04:00",
  "cancelReason" : "????????? ???? ????????? ?????????? ??????? ????.",
  "isTemplate" : "false",
  "noNewFeatures" : "false"
} ]

Я не могу составить спецификацию JOLT. Подскажите также, где можно посмотреть его полное описание, я не могу его найти.

1 Ответ

0 голосов
/ 29 мая 2020

Я использую эту химию для решения своей проблемы:

  {
    "operation": "shift",
    "spec": {
        "*": {
              "@": "",
              "cancelInfo": {
                "cancelDate": "cancelInfo_cancelDate",
                "cancelReason": "cancelInfo_cancelReason"
              }
      }
    }
  }
...