У меня есть этот JSON в качестве ввода:
{
"BusinessInfo": {
"MemberInformation": {
"Item": [
{
"Relation": {
"Item": [
{
"Partner1": "0072938063",
"Partner2": "0072938064",
"CategoryId": "BUR001"
},
{
"Partner1": "0072938063",
"Partner2": "0072937669",
"CategoryId": "ZCRM06"
},
{
"Partner1": "0072938063",
"Partner2": "3000011685",
"CategoryId": "ZCRM06"
},
{
"Partner1": "1020002423",
"Partner2": "0072938063",
"CategoryId": "ZCRM01"
},
{
"Partner1": "0072938067",
"Partner2": "0072938063",
"CategoryId": "ZCRM04"
},
{
"Partner1": "0072938063",
"Partner2": "0072937669",
"CategoryId": "ZCRM04"
},
{
"Partner1": "0072938063",
"Partner2": "0072938065",
"CategoryId": "ZCRM04"
}
]
}
}
]
}
}
}
И эта спецификация Джолта:
[
{
"operation": "shift",
"spec": {
"BusinessInfo": {
"MemberInformation": {
"Item": {
"*": {
"Relation": {
"Item": {
"*": {
"CategoryId": {
"ZCRM04": {
"@(2,Partner1)": "[&3].Partner1",
"@(2,Partner2)": "[&3].Partner2"
}
}
}
}
}
}
}
}
}
}
}
]
Имея в результате, это:
[ null, null, null, null, {
"Partner1" : "0072938067",
"Partner2" : "0072938063"
}, {
"Partner1" : "0072938063",
"Partner2" : "0072937669"
}, {
"Partner1" : "0072938063",
"Partner2" : "0072938065"
} ]
Проблема с сгенерированными нулевыми значениями. Мне нужен тот же результат, но без них. Я попытался удалить их, добавив эти операции в спецификации:
{
"operation": "default",
"spec": {
"*": "TRASH"
}
},
{
"operation": "remove",
"spec": {
"TRASH": ""
}
}
Но не работает, результат почти тот же, только теперь вместо нуля появляется "TRASH":
[ "TRASH", "TRASH", "TRASH", "TRASH", {
"Partner1" : "0072938067",
"Partner2" : "0072938063"
}, {
"Partner1" : "0072938063",
"Partner2" : "0072937669"
}, {
"Partner1" : "0072938063",
"Partner2" : "0072938065"
} ]
Что может быть не так? В первое преобразование или в следующие две операции добавлено. Можно ли избежать этого при первом преобразовании?