jolt 转换以检查键是否具有空值

huangapple go评论134阅读模式
英文:

jolt transformation to check if a key has null value

问题

请帮助我进行jolt转换,以检查一个键是否具有空值。问题陈述如下。

对于TimeResolvednull输入severity将保持不变

  1. {
  2. "parameterid": "Testing rule for event ID_Testing 1.0",
  3. "severity": 2,
  4. "TimeResolved": null
  5. }

期望输出

  1. {
  2. "parameterid": "Testing rule for event ID_Testing 1.0",
  3. "severity": 2,
  4. "TimeResolved": null
  5. }

对于TimeResolved不为null输入severity将被更改为0

  1. {
  2. "parameterid": "Testing rule for event ID_Testing 1.0",
  3. "severity": 2,
  4. "TimeResolved": 123456
  5. }

期望输出是:

  1. {
  2. "parameterid": "Testing rule for event ID_Testing 1.0",
  3. "severity": 0,
  4. "TimeResolved": null
  5. }
英文:

Please help me in jolt transformation to check if a key has null value. The problem statement is mentioned as below.

For input where TimeResolved is null, severity will be as it is:

  1. {
  2. "parameterid": "Testing rule for event ID_Testing 1.0",
  3. "severity": 2,
  4. "TimeResolved": null
  5. }

expected output:

  1. {
  2. "parameterid": "Testing rule for event ID_Testing 1.0",
  3. "severity": 2,
  4. "TimeResolved": null
  5. }

For input where TimeResolved is not null, severity will be changed to 0:

  1. {
  2. "parameterid": "Testing rule for event ID_Testing 1.0",
  3. "severity": 2,
  4. "TimeResolved": 123456
  5. }

expected output is:

  1. {
  2. "parameterid": "Testing rule for event ID_Testing 1.0",
  3. "severity": 0,
  4. "TimeResolved": null
  5. }

答案1

得分: 1

您可以在modify-overwrite-beta转换中使用isNullnotNull函数,例如

  1. [
  2. {
  3. "operation": "modify-overwrite-beta",
  4. "spec": {
  5. "NullCheck": ["=isNull(@(1,TimeResolved))", 0], // 如果TimeResolved不为空,则返回零
  6. "severity": "=notNull(@(1,NullCheck))", // 如果TimeResolved为空,则停止而不发出警告
  7. "TimeResolved": null // 在任何情况下都设置为null
  8. }
  9. },
  10. { // 去除"NullCheck"属性
  11. "operation": "remove",
  12. "spec": {
  13. "NullCheck": ""
  14. }
  15. }
  16. ]
英文:

You can use isNull and notNull functions within a modify-overwrite-beta transformation such as

  1. [
  2. {
  3. "operation": "modify-overwrite-beta",
  4. "spec": {
  5. "NullCheck": ["=isNull(@(1,TimeResolved))", 0], // if TimeResolved is NOT NULL, then zero returns
  6. "severity": "=notNull(@(1,NullCheck))", // stops silently if TimeResolved is NULL
  7. "TimeResolved": null // set to null in any case
  8. }
  9. },
  10. { // get rid of the "NullCheck" attribute
  11. "operation": "remove",
  12. "spec": {
  13. "NullCheck": ""
  14. }
  15. }
  16. ]

huangapple
  • 本文由 发表于 2023年8月4日 21:15:34
  • 转载请务必保留本文链接:https://go.coder-hub.com/76836288.html
匿名

发表评论

匿名网友

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen:

确定