NiFi JOLT копирует весь оригинальный JSON

Я использую Apache NiFi и получаю на входе JSON. Я хочу создать новый JSON следующим образом:

{
     "data": ORIGINAL_JSON_HERE,
     "new_field_1": "field_1_value",
     "new_field_2": "fieldfield1,field2value"
}

Где field1,field2 не зависит от JSON, поэтому значения не имеют значения.

На следующем демонстрационном сайте (сделанном оригинальным создателем библиотеки Java Jolt):

http://jolt-demo.appspot.com/#inception

Если я сделаю следующую спецификацию:

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

Однако, когда я использую ту же спецификацию в процессорах NiFi JOLT, я получаю null в качестве вывода ...

Как я могу найти правильную спецификацию для NiFi?


person ChikChak    schedule 27.04.2020    source источник


Ответы (1)


Проблема заключалась в том, что я хотел, чтобы в выходном JSON было поле data, но я не указывал операцию для создания такого поля. Следующие работы:

[
  {
    "operation": "shift",
    "spec": {
        "*": "data.&"
    }
  },
  {
    "operation": "default",
    "spec": {
        "data": {},
    }
  }
]
person ChikChak    schedule 28.04.2020
comment
Пожалуйста, не публикуйте только код в качестве ответа, но также объясните, что делает ваш код и как он решает проблему вопроса. Ответы с объяснением обычно более высокого качества и с большей вероятностью получат положительные отзывы. - person Alexandre B.; 29.04.2020