Benutzerdefinierte JSON-Ausgabe in Apache Camel xmljson

8

Kamel-Route:

%Vor%

Eingabe-XML:

%Vor%

Tatsächliche Ausgabe:

%Vor%

Ich möchte diese Ausgabe anpassen. ich möchte dem konvertierten json einige mote-attribute hinzufügen. Zum Beispiel möchte ich die Ausgabe json als

%Vor%

Wie kann das erreicht werden?

    
KmrGtm 24.06.2015, 10:13
quelle

3 Antworten

0

Ich denke, ein AggregationStrategy könnte helfen:

1) Fügen Sie Ihrer Route die aggregationStrategy hinzu:

%Vor%

2) Erstellen Sie anschließend die Klasse, die den Nachrichtentext erhält, und transformieren Sie sie wie gewünscht und setzen Sie den Textkörper wieder auf Exchange. OBS: Hier müssen Sie eine xml API verwenden, um die Attribute hinzuzufügen, die Sie hinzufügen möchten.

%Vor%

Weitere hier .

    
edubriguenti 29.07.2015 16:42
quelle
0

Gibt es etwas, das Sie daran hindert, eine XSLT-Komponente zu verwenden? Sie können dies anwenden, um die Eingabe-XML in ein Format zu bringen, das direkt dem gewünschten Ausgabe-JSON-Format entspricht, und es dann an xmljson, z. - (muss etwas sauber gemacht werden, um einige leere Elemente zu vermeiden)

%Vor%     
ssaptarshi 30.07.2015 18:35
quelle
0

Verwenden Sie die Jackson-Bibliothek. Sie können das Ausgabeformat programmgesteuert ändern. Unmarshal eignet sich nur zum direkten Mapping und nicht zur Bereicherung. Im Wesentlichen Unmarshal to XML, fügen Sie einen Prozessor hinzu und erstellen Sie dann das Ausgabe-Json-Format.

    
Souciance Eqdam Rashti 01.10.2015 06:43
quelle

Tags und Links