Przygotowano prośbę json jak poniżej.
[{
"type": "John",
"attributes": {
"AA": [{
"value": "1234"
}]
}
},
{
}
]
Muszę zastąpić poniższą pustą, tzn. Pustą „”.
,
{
}
Czy możesz podać rozwiązanie tego problemu.
Wreszcie powinno przyjść jak poniżej.
[{
"type": "John",
"attributes": {
"AA": [{
"value": "1234"
}]
}
}
]
Odpowiedzi:
0 dla odpowiedzi № 1Ten wyrażenie regularne pasuje do podanej sekwencji, jednak prawdopodobnie trzeba by ją zmienić, aby zaakceptować wszystkie możliwości:
/, n{W+?}/
Po prostu zamień mecz na nic.
0 dla odpowiedzi nr 2
Czy otrzymujesz odpowiedź jako obiekt JSON lub ciąg?
Jeśli otrzymasz odpowiedź jako obiekt, musisz zastosować jej strify przed zastosowaniem funkcji zamiany:
payload = JSON.parse(JSON.stringify(payload).replace(/,{}/, ""))
Jeśli odpowiedź, którą zamieściłeś powyżej, jest już sprecyzowana i nie przeanalizowałeś jej w obiekcie, metoda jest następująca:
payload = payload.replace(/,s+ns+{ns+}/,"")
0 dla odpowiedzi № 3
Aby osiągnąć ten cel, możemy użyć wyrażenia DataWeave w trybie Przekształć wiadomość lub w MEL.
W tym przypadku wolę używać go w MEL: #[dw("payload filter (sizeOf $) > 0")]
0 dla odpowiedzi nr 4
Możesz użyć flatten
operator tutaj, jak podano poniżej. Powinien usunąć pusty json
. Możesz także spróbować wymienić {}
z null
i dodawanie skipnullon="everywhere"
flatten payload