Wir haben ein Formular mit einem langen Absatz für eine wissenschaftliche Anwendung, die Zeichen wie Symbol Beta (ß-arrestin) usw. enthält. Wir haben einen JSON-Dienst auf Mule, der die Daten übernimmt und in einer Oracle-Datenbank persistiert. Dieses spezielle Element mit langem Absatz gibt mir einen Fehler in RAML / JSON. Unten ist der Fehler
%Vor%Das Formelement, auf das die Wissenschaftler schreiben, haben wir nicht zu kontrollieren. Also auf der Mule-Seite, wie können wir diese Charaktere automatisch entkommen wie Java URLEncoded. Vielen Dank
In Ihrem Fall sieht es so aus, als ob die eingehenden Daten fehlerhaft sind. Es muss sich in einer von der JSON-Spezifikation unterstützten Codierung befinden : UTF-8 (Standard), UTF-16 oder UTF-32. Also nicht sicher, ob das Folgende anwendbar ist. Trotzdem ...
Für die meisten Apps würde ich JSON zur Objekt-Zuordnung empfehlen >, die sich um die Flucht kümmern werden. Andernfalls kannst du Jacksons (die von Mule verwendete JSON-Bibliothek) anrufen String Escape-Methode direkt.
Hier ist ein Beispiel, das Sie in MEL verwenden können. String.valueOf
ist notwendig, weil quoteAsString
char[]
zurückgibt:
Am Ziel können Sie die Daten als Text / Ebene erhalten.
Reinigen Sie es durch Ausführen von:
%Vor%Konvertieren Sie es mithilfe einer beliebigen JSON-Bibliothek in JSON-Daten zurück:
%Vor%Ich hoffe, es hilft.