Я хочу преобразовать текст в JSON формат, используя nifi - PullRequest
0 голосов
/ 28 января 2020

Я пытался преобразовать мои целочисленные и строковые значения в формат JSON, используя процессор замещающего текста в NIFI. Но я сталкиваюсь с проблемой в регулярном выражении. Может кто-нибудь предложить мне Регулярное выражение в поисковом значении и замене.

Оригинальный текстовый формат:

{Sensor_id:2.4,locationIP:2.2,Sensor_value:A}

Ожидаемый JSON формат

{Sensor_id:2.4,locationIP:2.2,Sensor_value:"A"}

Конфигурация процессора: enter image description here

1 Ответ

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

Вы можете использовать регулярное выражение ([\w_]+):([a-zA-Z]\w*) с заменой $1:"$2", как вы видите здесь

Но обратите внимание, что действительный JSON должен иметь кавычки в ключах. Например:

 {"Sensor_id":2.4,"locationIP":2.2,"Sensor_value":"A"}

В этом случае я бы рекомендовал:

  1. Добавить процессор ReplaceText с регулярным выражением ([\w_]+): и заменить "$1":
  2. Свяжите выходные данные первого ReplaceText с другим процессором ReplaceText с регулярным выражением ([\w_"]+):([a-zA-Z]\w*) и заменой $1:"$2"

Надеюсь, это поможет

РЕДАКТИРОВАТЬ:

Если вы хотите преобразовать {Sensor_id:2.4,locationIP:2.2,Sensor_value:A} в {"Sensor_id":"2.4","locationIP":"2.2","Sensor_value":"A"}, вы можете использовать только одно регулярное выражение в одном процессоре:

Регулярное выражение: ([\w_]+):([.\w]*) Замена: "$1":"$2"

...