我有一些属性myId,计数。现在,使用这些属性,我想记下Jolt格式以获取以下输出。
{
"projectId": "projectId",
"ticketId": "NO_TICKET",
"trigger": "SCHEDULED_BACKLOG",
"timestamp": 1539060316494,
"pivotVersion": 1,
"pivotType": "FlattenedTodoStats",
"todoCount": "todoCount",
"pivots": [
{
"state": "BACKLOG",
"type": "NA"
}
]
}
答案 0 :(得分:1)
在这种情况下,您可以使用 Jolt Transform(或)ReplaceText 处理器。
由于您具有流文件的某些属性,因此请使用ReplaceText处理器
在“替换值”中配置为
{
"projectId": "${projectId}",
"ticketId": "${ticketId}",
"trigger": "${trigger}",
"timestamp": "${timestamp}",
"pivotVersion":"${pivotVersion}",
"pivotType":"${pivotType}",
"todoCount":"${todoCount}",
"pivots[]": {
"*": {
"state": "${state}",
"type": "${type}"
}
}
}
用您的属性名称替换所有属性名称($ {projectId} .. etc)。
使用替换策略作为始终替换
(或)
如果您想在这种情况下使用Jolt,则
使用默认操作替换您的属性值并准备json message
示例:
[{ "operation": "shift", "spec": { "z":"z" } }, { "operation": "default", "spec": { "projectId": "${projectId}", "ticketId": "${ticketId}", "trigger": "${trigger}", "timestamp": "${timestamp}", "pivotVersion":"${pivotVersion}", "pivotType":"${pivotType}", "todoCount":"${todoCount}", "pivots[]": { "*": { "state": "${state}", "type": "${type}" } } } }]
由于我没有任何属性值,因此我的输出json中包含所有空值。
根据您的要求更改规格震动规格。