【问题标题】:Nifi convert json to custom json using jolt scriptNifi 使用 jolt 脚本将 json 转换为自定义 json
【发布时间】:2018-10-30 20:53:15
【问题描述】:

我有像 json 这样的

{
  "error_message_1": "missing_field_1",
  "error_message_2": "missing_field_2",
  "error_message_3": "missing_field_3"
}
我希望 json 形成如下

{
"payloads":[
{
   "error_message_1": "missing_field_1",
   "error_message_2": "missing_field_2"
   "error_message_3": "missing_field_3"
}],
"timestamp":"$timestmap",
"source":"nifi"
}
   
   

请告诉我这个的 jolt 脚本。

【问题讨论】:

    标签: apache-nifi jolt


    【解决方案1】:

    使用这个 jolt 规范:

    我们正在创建 payloads array 并将所有 error_message* 键保存到 payloads 数组中。

    [{
        "operation": "shift",
        "spec": {
            "error_message_1": "payloads[0].error_message_1",
            "error_message_2": "payloads[0].error_message_2",
            "error_message_3": "payloads[0].error_message_3"
        }
    }, {
        "operation": "default",
        "spec": {
          "timestamp":"$timestmap",
            "source":"nifi"
        }
    }]
    

    输出:

    此外,如果您想要 timestamp 键的 timestamp 值,请使用以下规范:

    [{
        "operation": "shift",
        "spec": {
            "error_message_1": "payloads[0].error_message_1",
            "error_message_2": "payloads[0].error_message_2",
            "error_message_3": "payloads[0].error_message_3"
        }
    }, {
        "operation": "default",
        "spec": {
          "timestamp":"${now():format('yyyy-MM-dd HH:mm:ss.SSS')}",
            "source":"nifi"
        }
    }]
    

    输出:

    {
        "payloads": [{
            "error_message_1": "missing_field_1",
            "error_message_2": "missing_field_2",
            "error_message_3": "missing_field_3"
        }],
        "source": "nifi",
        "timestamp": "2018-10-30 08:51:16.572"
    }
    

    【讨论】:

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