1

我有一个包含(无模式)JSON Lines 编码数据的文件。

例如:

{"foo" : "abc", "bar" : "def" }
{"foo" : "xyz" }
{"foo" : "ghi", "bar" : "jkl", "name" : "The Dude"}

我想使用 NIFI 将其转换为 JSON 数组:

[{"foo" : "abc", "bar" : "def" },{"foo" : "xyz" },{"foo" : "ghi", "bar" : "jkl", "name" : "The Dude"}]
4

1 回答 1

1

在 Apache NiFi 中完成此任务的最简单方法是使用两个ReplaceText处理器。首先,配置为:

  • 搜索值:\}\s*\{
  • 重置价值:\},\{
  • 替换策略:Regex Replace
  • 评估模式:Entire Text

这将删除元组之间的换行符并在它们之间插入逗号。在第二:

  • 搜索值:(^.*$)
  • 重置价值:[$1]
  • 替换策略:Regex Replace
  • 评估模式:Entire Text

这将在 JSON 数组周围添加括号。还有其他方法可以使用ExecuteScriptJoltTransformJSON处理器完成此操作,但它们更复杂和脆弱。

于 2018-02-14T23:48:25.153 回答