问题描述
我想像这样使用 JOLT 转换 JSON:
Input: {
"array": [
"1","2","3","4"
],"array2": [
{
"something": "123","something1": "Plane"
},{
"something3": "567","something4": "Car"
}
]
}
转换成以下格式,正如您从输出中看到的,我需要两个数组中的数据以适合确切的参数名称,而不是像第一个那样的空参数或像第二个那样的现有参数名称。
Output: {
"one_array": [
{
"code": "1","description": "",},{
"code": "2",{
"code": "3",{
"code": "4",}
],"other_array": [
{
"id": "123","type": "Plane"
},{
"id": "567","type": "Car"
}
]
}
非常感谢一些澄清
解决方法
您可以使用 2 个 shift
操作和 default
操作来实现这一点,如下所示。
[
{
"operation": "shift","spec": {
"array": {
"*": {
"@": "one_array[&].id"
}
},"array2": {
"*": {
"*": {
"@": "tmp_array[&2]"
}
}
}
}
},{
"operation": "shift","spec": {
"one_array": "one_array","tmp_array": {
"*": {
"0": "other_array[&1].id","1": "other_array[&1].type"
}
}
}
},{
"operation": "default","spec": {
"one_array[]": {
"*": {
"description": ""
}
}
}
}
]