Jolt 将数组值转换为对象

Jolt transform array value to object

我正在尝试使用 jolt 将数组值作为字符串转换为我的对象。当我将数组值转换为字符串时,我无法在我的对象中获得正确的值。

输入Json:

  "id": [
    "123",
    "245"
  ],
  "lastName": [
    "john",
    "Mary"
  ],
  "firstName": [
    "doe",
    "Ann"
  ],
  "subjects": [
    [
      "['Maths']",
      "['Science']",
      "['English']"
    ],
    [
      "['English']",
      "['Accounts']",
      "['Art']"
    ]
  ]
}

颠簸规格:

[{
  "operation": "shift",
  "spec": {
    "*": {
      "*": {
        "*": {
          "$": "[&2].&3"
        }
      }
    }
  }
}]

预期输出:

[ {
  "id" : "123",
  "lastName" : "john",
  "firstName" : "doe",
  "subjects" : [ ["['Maths']","['Science']","['English']"] ]
}, {
  "id" : "245",
  "lastName" : "Mary",
  "firstName" : "Ann",
  "subjects" : [ ["['English']","['Accounts']","['Art']"] ]
} ]

实际输出:

[ {
  "id" : "123",
  "lastName" : "john",
  "firstName" : "doe",
  "subjects" : [ "0", "1", "2" ]
}, {
  "id" : "245",
  "lastName" : "Mary",
  "firstName" : "Ann",
  "subjects" : [ "0", "1", "2" ]
} ]

请帮忙。提前致谢。

检查这是否解决了问题。认为您在主题数组中缺少一个级别:

[{
  "operation": "shift",
  "spec": {
    "*": {
      "*": {
        "*": {
          "$": "[&2].&3"
        }
      }
    },
    "subjects": {
      "*": {
        "*": {
          "*": {
            "$": "[&3].&4"
          }
        }
      }
    }
  }
}]

干杯