将数组值摇动转换为对象

时间:2019-12-02 14:21:03

标签: arrays json jolt

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

输入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" ]
} ]

请帮助。预先感谢。

1 个答案:

答案 0 :(得分:0)

检查是否可以解决。认为您在主题数组上缺少一个级别:

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

欢呼