使用 JOLT 将 json 数组中的值转换为另一个值

Convert a value in the json array into another using JOLT

我有这个输入

[
  {
    "date": "2020-01-01",
    "state_cd": "CA"
  },
  {
    "date": "2020-01-03",
    "state_cd": "NY"
  },
  {
    "date": "2020-01-05",
    "state_cd": "WA"
  }
]

并希望将 state_cd 转换为 1(如果它是 CA)或 0。

我尝试了以下规范,

[
  {
    "operation": "shift",
    "spec": {
      "*": {
        "state_cd": {
          "CA": {
            "#1": "[].ca_ind"
          },
          "*": {
            "#0": "[].ca_ind"
          }
        },
        "*": "[&1].&0"
      }
    }
  }
]

但是状态 cd 是一个偏离我应该喜欢的索引。

[
  {
    "date" : "2020-01-01"
  },
  {
    "ca_ind" : "1",
    "date" : "2020-01-03"
  },
  {
    "ca_ind" : "0",
    "date" : "2020-01-05"
  },
  {
    "ca_ind" : "0"
  }
]

谁能帮我解决这个问题?

检查此规范,

[
  {
    "operation": "shift",
    "spec": {
      "*": {
        "date": "[&1].date",
        "state_cd": {
          "CA": {
            "#1": "[&3].ca_ind"
          },
          "*": {
            "#0": "[&3].ca_ind"
          }
        }
      }
    }
  }
]

K,Jagadesh 让我知道我的实际规格应该是什么样子:

[
  {
    "operation": "shift",
    "spec": {
      "*": {
        "state_cd": {
          "CA": {
            "#1": "[&3].ca_ind"
          },
          "*": {
            "#0": "[&3].ca_ind"
          }
        },
        "*": "[&1].&"
      }
    }
  }
]

谢谢!