Как преобразовать строковое значение в массив в Apache Nifi - PullRequest
0 голосов
/ 20 апреля 2020

все.

У меня есть запрос в ExecuteSQLRecord процессоре, который выдает столбец JSON в результате:

SELECT t.id, json_agg(json_build_object("value1", t.column1, "value2", t.column2)) AS "test" FROM table t GROUP BY t.id 

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

{
   ...
   "test": "[{\"value1\": \"column1value\", \"value2\": \"column2value\"}, ...]"
}

. Есть ли способ преобразовать его в правильное значение JSON, т.е. , в этом формате:

{
   ...
   "test": [{"value1": "column1value", "value2": "column2value"}, ...]
}

без обращения к ReplaceText процессорам?

Я пытался заменить кавычки в запросе SQL, чтобы использовать jsonb_agg() и jsonb_build_object() и использовать QueryDatabaseTableRecord, но ни один не работал.

Заранее спасибо.

...