/ / Jak zamienić ładunek z obiektu Json w mule - regex, mule, mule-studio, mule-component, mule-el

Jak zastąpić ładunek z obiektu json w mule - regex, mule, mule-studio, muł-komponent, muł-el

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 № 1

Ten 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