Jolt 将所有 0 值更新为 1
Jolt update all 0 value to 1
我想知道在 Jolt 中,我如何计算需要向上移动的级别数才能获得所需的数据。
我尝试使用 Jolt 规范将“数量”中的值从 0 转换为 1
输入
{
"items": [
{
"product": {
"name": "product1",
"id": "001"
},
"quantity": 1
},
{
"product": {
"name": "product2",
"id": "002"
},
"quantity": 0
},
{
"product": {
"name": "product3",
"id": "003"
},
"quantity": 0
}
]
}
预期输出
{
"items": [
{
"product": {
"name": "product1",
"id": "001"
},
"quantity": 1
},
{
"product": {
"name": "product2",
"id": "002"
},
"quantity": 1
},
{
"product": {
"name": "product3",
"id": "003"
},
"quantity": 1
}
]
}
Jolt 规格 附上我理解的一些注释。
[
{
"operation": "shift",
"spec": {
"items": {
"*": {
"quantity": {
"0": {
"#1": "items.[&3].quantity" //[&3] => I move 3 levels up to items.* to get index?
},
"*": {
"@(2,quantity)": "items.[&3].quantity" //@(2,quantity) => I move 2 levels up to get items.*.quantity value?
}
},
"*": "items.[&1].&" //[&1] => I move 1 level up to items.* to get index?
}
}
}
},
{
"operation": "modify-overwrite-beta",
"spec": {
"items": {
"*": {
"quantity": "=toInteger(@(1,quantity))"
}
}
}
}
]
我的理解正确吗?请指教
谢谢你
据我了解,您想将 items
数组中的第一个 quantity
值反映到其他对象的所有其他 quantity
值。然后你可以使用这些移位转换:
[
{
"operation": "shift",
"spec": {
"items": {
"0": {
"@": "&"
},
"*": {
"@(0,product)": "&.product",
"@(2,&1[0].quantity)": "&.quantity"
}
}
}
},
{
"operation": "shift",
"spec": {
"*": "items"
}
}
]
我想知道在 Jolt 中,我如何计算需要向上移动的级别数才能获得所需的数据。 我尝试使用 Jolt 规范将“数量”中的值从 0 转换为 1
输入
{
"items": [
{
"product": {
"name": "product1",
"id": "001"
},
"quantity": 1
},
{
"product": {
"name": "product2",
"id": "002"
},
"quantity": 0
},
{
"product": {
"name": "product3",
"id": "003"
},
"quantity": 0
}
]
}
预期输出
{
"items": [
{
"product": {
"name": "product1",
"id": "001"
},
"quantity": 1
},
{
"product": {
"name": "product2",
"id": "002"
},
"quantity": 1
},
{
"product": {
"name": "product3",
"id": "003"
},
"quantity": 1
}
]
}
Jolt 规格 附上我理解的一些注释。
[
{
"operation": "shift",
"spec": {
"items": {
"*": {
"quantity": {
"0": {
"#1": "items.[&3].quantity" //[&3] => I move 3 levels up to items.* to get index?
},
"*": {
"@(2,quantity)": "items.[&3].quantity" //@(2,quantity) => I move 2 levels up to get items.*.quantity value?
}
},
"*": "items.[&1].&" //[&1] => I move 1 level up to items.* to get index?
}
}
}
},
{
"operation": "modify-overwrite-beta",
"spec": {
"items": {
"*": {
"quantity": "=toInteger(@(1,quantity))"
}
}
}
}
]
我的理解正确吗?请指教
谢谢你
据我了解,您想将 items
数组中的第一个 quantity
值反映到其他对象的所有其他 quantity
值。然后你可以使用这些移位转换:
[
{
"operation": "shift",
"spec": {
"items": {
"0": {
"@": "&"
},
"*": {
"@(0,product)": "&.product",
"@(2,&1[0].quantity)": "&.quantity"
}
}
}
},
{
"operation": "shift",
"spec": {
"*": "items"
}
}
]