JOLT 转换将相同的元素添加到所有数组中
JOLT transformation add the same elements into all arrays
我想为数组的每个元素添加相同的值。
我的方法是使用 default 来添加值。
它与 有点不同,因为:
我不知道如何写入数组的现有元素而不是新元素。
输入:
{
"counterTop": {
"loaf1": [
{
"type": "white",
"unit": "mm",
"test": "correct"
},
{
"type": "black",
"unit": "cm",
"test": "false"
}
]
}
}
规格:
[
{
"operation": "default",
"spec": {
"counterTop": {
"loaf1": {
"*": {
"slices": ""
}
}
}
}
}
]
预期输出:
{
"counterTop": {
"loaf1": [
{
"type": "white",
"unit": "mm",
"test": "correct",
"slices": ""
},
{
"type": "black",
"unit": "cm",
"test": "false",
"slices": ""
}
]
}
}
当前输出
{
"counterTop": {
"loaf1": [
{
"type": "white",
"unit": "mm",
"test": "correct"
},
{
"type": "black",
"unit": "cm",
"test": "false"
}
]
}
}
这里有人有解决办法吗?在阵列外它工作没有问题,但我无法进入那里。
提前致谢!
一个选项是两次应用移位变换;为了通过在第一步中添加新的键值对("slices":" "
)的同时进入最内层来提取列表(loaf1
)的键值对,然后将所有列表组合回原始在第二个中,例如
[
{
"operation": "shift",
"spec": {
"*": {
"*": {
"*": {
"*": "&",
"# ": "slices"
}
}
}
}
},
{
"operation": "shift",
"spec": {
"*": {
"*": "counterTop.loaf1[&].&1"
}
}
}
]
我想为数组的每个元素添加相同的值。
我的方法是使用 default 来添加值。
它与
输入:
{
"counterTop": {
"loaf1": [
{
"type": "white",
"unit": "mm",
"test": "correct"
},
{
"type": "black",
"unit": "cm",
"test": "false"
}
]
}
}
规格:
[
{
"operation": "default",
"spec": {
"counterTop": {
"loaf1": {
"*": {
"slices": ""
}
}
}
}
}
]
预期输出:
{
"counterTop": {
"loaf1": [
{
"type": "white",
"unit": "mm",
"test": "correct",
"slices": ""
},
{
"type": "black",
"unit": "cm",
"test": "false",
"slices": ""
}
]
}
}
当前输出
{
"counterTop": {
"loaf1": [
{
"type": "white",
"unit": "mm",
"test": "correct"
},
{
"type": "black",
"unit": "cm",
"test": "false"
}
]
}
}
这里有人有解决办法吗?在阵列外它工作没有问题,但我无法进入那里。
提前致谢!
一个选项是两次应用移位变换;为了通过在第一步中添加新的键值对("slices":" "
)的同时进入最内层来提取列表(loaf1
)的键值对,然后将所有列表组合回原始在第二个中,例如
[
{
"operation": "shift",
"spec": {
"*": {
"*": {
"*": {
"*": "&",
"# ": "slices"
}
}
}
}
},
{
"operation": "shift",
"spec": {
"*": {
"*": "counterTop.loaf1[&].&1"
}
}
}
]