Как преобразовать строку в массив JSON с помощью NiFi - PullRequest
1 голос
/ 26 июня 2019

В NiFi я обрабатываю потоковый файл, содержащий следующий атрибут:

Key: 'my_array'
    Value: '[u'firstElement', u'secondElement']'

Я хотел бы разделить flowFile на этот массив, чтобы обрабатывать каждый элемент отдельно (а затем объединять). Я пытался использовать процессор SplitJson, но для работы требуется контент JSON, поэтому я использовал AttributesToJSON перед этим. К сожалению, содержимое созданного потока файлов:

{"my_array": "[u'firstElement', u'secondElement'"}

И я получаю ошибку

Оцененное значение [u'firstElement ', u'secondElement'] в $ ['my_array'] не было JSON-совместимым типом и не может быть разделено.

Можно ли преобразовать строку my_array в правильный массив JSON? Нужно ли использовать ExecuteScript или есть какой-то более простой способ?

1 Ответ

3 голосов
/ 26 июня 2019

Как насчет ReplaceText с Replacement Strategy из Always Replace и Replacement Value из ${my_array}, а затем SplitJSON?Это заменит содержимое вашего FlowFile значением этого атрибута, и тогда вы сможете SplitJSON использовать его.

...