[英]JSON jolt null value added to a nested array after transformation
我对 JSON 颠簸转换有疑问,请考虑以下情况,我也尝试过不同版本的颠簸库。
输入 json:
{
"id": "b08a2c93-f59e-4f54-8e16-2f1c4345b53b",
"equipment": [{
"number": "S765769",
"type": "40 DRY"
}, {
"number": "N5765769",
"type": "20 DRY"
}]
}
颠簸规格
[{
"operation": "shift",
"spec": {
"equipment": {
"*": {
"number": ["CTN[&1].IDT", "CTN[&1].CTN[&1].IDT"],
"type": "CTN[&1].CTN[&1].TYP"
}
}
}
}]
Output Json:
{
"CTN": [{
"IDT": "S765769",
"CTN": [{
"IDT": "S765769",
"TYP": "40 DRY"
}]
}, {
"IDT": "N5765769",
"CTN": [ ** null ** , {
"IDT": "N5765769",
"TYP": "20 DRY"
}]
}]
}
正如您在 output 中看到的,在第二个 CTN 数组 object 中,第一个元素是 null ! 我们如何摆脱 null 使 output 变成这样
需要 output
{
"CTN": [{
"IDT": "S765769",
"CTN": [{
"IDT": "S765769",
"TYP": "40 DRY"
}]
}, {
"IDT": "N5765769",
"CTN": [{
"IDT": "N5765769",
"TYP": "20 DRY"
}]
}]
}
您可以将 null 压扁,为您的规范添加一个额外的步骤:
[{
"operation": "shift",
"spec": {
"equipment": {
"*": {
"number": ["CTN[&1].IDT", "CTN[&1].CTN[&1].IDT"],
"type": "CTN[&1].CTN[&1].TYP"
}
}
}
}, {
"operation": "modify-overwrite-beta",
"spec": {
"*": "=recursivelySquashNulls"
}
}]
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.