在JOLT中将具有单个值的数组转换为字符串值

问题描述

输入json:

{
  "rating": "5","quality": [
    "No"
  ]
}

震动规格:

[
  {
    "operation": "modify-overwrite-beta","spec": {
      "quality": {
        "0": "=toString"
      }
    }
  }
]

当前输出

{
  "rating" : "5","quality" : [ "No" ]
}

预期输出

{
  "rating" : "5","quality" : "No"
}

请为我提供适当的解决方案,如何获得String值作为例外

解决方法

如果仅需要质量数组的第一个对象,则使用"0": "quality",或者如果它是通用的,则使用"*": "quality"

但是当您使用"*": "quality"时,如果输入json在quality数组中具有多个值,那么输出也将具有与数组相同的质量。

[
  {
    "operation": "shift","spec": {
      "rating": "rating","quality": {
        "*": "quality"
      }
    }
  }
]