我想向数组的每个元素添加相同的值。 我的方法是使用默认值来添加值。 它与this one有点不同。 , 因为: 我不知道如何写入数组的现有元素而不是新元素。
输入:
{
"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"
}
]
}
}
这里有人有解决办法吗?在数组之外它可以正常工作,但我无法进入那里。
提前致谢!
最佳答案
一种选择是应用两次移位变换;为了通过进入最内层提取列表(loaf1
)的键值对,同时在第一个层中添加新的键值对("slices":""
)步骤,然后将所有列表组合回第二个列表中的原始列表,例如
[
{
"operation": "shift",
"spec": {
"*": {
"*": {
"*": {
"*": "&",
"# ": "slices"
}
}
}
}
},
{
"operation": "shift",
"spec": {
"*": {
"*": "counterTop.loaf1[&].&1"
}
}
}
]
关于arrays - JOLT 转换将相同的元素添加到所有数组中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/68405536/