So können Sie Sonderzeichen in JSON umgehen

8

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

    
hpandalai 06.11.2014, 09:52
quelle

2 Antworten

1

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:

%Vor%     
sshaw 01.02.2016, 06:05
quelle
2

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.

    
kaulmonish 22.04.2015 09:48
quelle

Tags und Links