我正在准备jolt规范,其中我需要实现if-else条件,但我无法实现它。请帮帮我
注意事项:
1.如果application-component-node
对象正在输入,则打印该对象并删除application-component
和application
(如果所有三个应用程序对象都在输入)。
1.如果application-component
对象正在输入,则打印该对象并丢弃application
对象(如果所有两个应用程序对象数组都要输入)。
1.如果application
对象只出现在输入中,则打印它。
例如:
[
{
"severity": "ERROR",
"type": "POLICY_CONTINUES_CRITICAL",
"affectedEntities": [
{
"entityType": "POLICY",
"name": "Exception Per Minute",
"entityId": 3683
},
{
"entityType": "APPLICATION",
"name": "Teashop",
"entityId": 6026
},
{
"entityType": "APPLICATION-Component",
"name": "Teashop",
"entityId": 602667
}
],
"subType": "OVERALL_APPLICATION",
"id": 92876278,
"triggeredEntity": null
}
]
预期输出:
[
{
"severity": "ERROR",
"type": "POLICY_CONTINUES_CRITICAL",
"affectedEntities": [
{
"entityType": "APPLICATION-Component",
"name": "Teashop",
"entityId": 602667
}
],
"subType": "OVERALL_APPLICATION",
"id": 92876278,
"triggeredEntity": null
}
]
这里的预期输出是application-component-node
,并删除其他两个应用程序对象数组
三个对象数组之间的优先级如下:
- 优先级1用于
application-component-node
, - 优先级2用于
application-component
, - 优先级3用于
application
注意:三个对象数组是动态的,它们可能会出现,有时只有两个对象数组出现,有时只有一个对象数组出现。
1条答案
按热度按时间qxgroojn1#
您可以在modify规范中使用lastElement函数,例如
编辑:您也可以根据上次编辑的修改等级库中的firstElement函数使用以下转换:
其中
entityType
s的大小写敏感性很重要。最后一个shift转换中的列表用于按给定的实体类型排序,就像在它们呈现的字母大小写中一样。网站http://jolt-demo.appspot.com/上的*demo为: