Apache nifi Nifi使用jolt脚本将json转换为自定义json

Apache nifi Nifi使用jolt脚本将json转换为自定义json,apache-nifi,jolt,Apache Nifi,Jolt,我有类似的 { “错误\消息\ 1”:“缺少\字段\ 1”, “错误消息\u 2”:“缺少\u字段\u 2”, 错误消息\u 3:“缺少\u字段\u 3” }使用本规范: 我们正在创建有效负载数组,并将所有错误消息*键保留在有效负载数组中 [{ "operation": "shift", "spec": { "error_message_1": "payloads[0].error_message_1", "error_message_2": "

我有类似的

{
“错误\消息\ 1”:“缺少\字段\ 1”,
“错误消息\u 2”:“缺少\u字段\u 2”,
错误消息\u 3:“缺少\u字段\u 3”

}
使用本规范:

我们正在创建有效负载
数组
,并将所有
错误消息*
键保留在有效负载数组中

[{
    "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"
    }
}]
输出:

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

此外,如果需要
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"
}

使用此震动规范:

我们正在创建有效负载
数组
,并将所有
错误消息*
键保留在有效负载数组中

[{
    "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"
    }
}]
输出:

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

此外,如果需要
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"
}