是否有可能在抖动变换上执行多个条件来创建或或和?

我找到了一些关于If Else的文档,但还不能将其应用于我正在try 的东西.这是单个元素上的If Else,我需要它与多个or‘s一起使用.

[
  {
    "alpha": "a",
    "beta": "b",
    "omega": "o",
    "exists": true,
    "description": "goodbye world"
  },
  {
    "alpha": "1",
    "beta": "2",
    "omega": "3",
    "exists": false,
    "description": "hello world"
  },
  {
    "alpha": "z",
    "beta": "x",
    "omega": "y",
    "exists": true,
    "description": "hello mars"
  }
]

我需要找出一个Jolt,它可以查看整个数组,并说"If Existes为True或Description is Hello world",因此它输出:

[
  {
    "alpha": "a",
    "beta": "b",
    "omega": "o",
    "exists": true,
    "description": "goodbye world"
  },
  {
    "alpha": "1",
    "beta": "2",
    "omega": "3",
    "exists": false,
    "description": "hello world"
  },
  {
    "alpha": "z",
    "beta": "x",
    "omega": "y",
    "exists": true,
    "description": "hello mars"
  }
]

震撼寻找Hello World:

[
  {
    "operation": "shift",
    "spec": {
      "*": {
        "description": {
          "hello world": null,
          "*": {
            "@2": "&1"
          }
        }
      }
    }
  }
]

我知道IF和筛选器或描述部分有多复杂,但我如何将它们放在一起才能像OR子句那样协调工作,例如: IF(("EXISTS"=="TRUE")|("Description"=="Hello World"))

推荐答案

您可以通过连接这些值(truehello world)来生成新属性,然后使用条件判断方法判断是否存在,例如

[
  {
    "operation": "modify-overwrite-beta",
    "spec": {
      "*": {
        "ed": "=concat(@(1,exists),@(1,description))"
      }
    }
  },
  {
    "operation": "shift",
    "spec": {
      "*": {
        "ed": {
          "true*|*hello world": { // | stands for OR
                                  // check out the value of "ed" whether
                                  // starts with "true" OR ends with "hello world"
            "@2": "" // replicate the whole value from the "ed"'s level
                     // without any object key(eg. "") 
          }
        }
      }
    }
  },
  { // get rd of the lately generated attribute
    "operation": "remove",
    "spec": {
      "*": {
        "ed": ""
      }
    }
  }
]

Json相关问答推荐

Vega-Lite:文本笔画在外部

如何创建可由Gin序列化到json的排序键值映射?

序列化从/到空值

将PNG图像保存为Python中的JSON文件

如何用JQ打印JSON文件的路径和键值

使用JQ将JSON输出转换为CSV复杂 struct

在 SQL 存储过程中使用参数 Select 值

Jolt Spec 跳过数组中的第一个元素

将 std::可选值存储到 json 文件 C++

使用 jq,如何将两个属性构成键的对象数组转换为对象的索引对象?

正向闪烁后的微调值

将请求中的数据推送到数组中

如何将该 JSON 解析为 Kotlin 类?

如何为包含一些固定值并可能具有其他附加值的数组字符串创建数组 json 架构

在 rust 中从 API 反序列化 serde_json

jQuery fullcalendar 发送自定义参数并使用 JSON 刷新日历

是否可以将数据写入本地 json 文件,除了Angular 之外什么都没有?

如何使用 Javascript 将数据写入 JSON 文件

如何使用 SwiftyJSON 遍历 JSON?

如何在 postgresql 9.3 中循环 JSON 数组