【问题标题】:Convert JSON Lines to JSON array using Apache Nifi使用 Apache Nifi 将 JSON 行转换为 JSON 数组
【发布时间】:2023-03-13 20:02:01
【问题描述】:

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

例如:

{"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"}]

【问题讨论】:

    标签: arrays json apache apache-nifi schemaless


    【解决方案1】:

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

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

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

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

    这将在 JSON 数组周围添加括号。还有其他方法可以使用ExecuteScript 或JoltTransformJSON 处理器来完成此任务,但它们更复杂且更脆弱。

    【讨论】:

      猜你喜欢
      • 2020-10-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2023-02-06
      • 1970-01-01
      • 2023-01-10
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多