Camel Route:Benutzerdefinierte JSON Ausgabe in Apache Camel xmljson
<camelContext xmlns="http://camel.apache.org/schema/spring">
<dataFormats>
<xmljson id="xmljson" />
</dataFormats>
<route id="route1">
<from uri="file:C:/Users/User1/InputXML"/>
<to uri="activemq:queue:MyThread1"/>
</route>
<route id="route2">
<from uri="activemq:queue:MyThread1"/>
<marshal ref="xmljson"/>
<bean ref="com.test.OutputProcessor"/>
</route>
</camelContext>
XML-Input-:
<?xml version="1.0" encoding="UTF-8"?>
<Message>
<to> Tove</to>
<from>Jani</from>
<heading>Reminder</heading>
<body>Don't forget me this weekend!</body>
</Message>
tatsächlichen Ausgang:
{"to":" Tove","from":"Jani","heading":"Reminder","body":"Don't forget me this weekend!"}
Ich mag diese Ausgabe anpassen. ich möchte dem konvertierten json einige mote-attribute hinzufügen. Zum Beispiel möchte ich den Ausgang json als
{
"inputs":[
{
"inputname":"to",
"inputValue":"Tove"
},
{
"inputname":"from",
"inputValue":"jani"
},
{
"inputname":"heading",
"inputValue":"Reminder"
},
{
"inputname":"body",
"inputValue":"Don't forget me this weekend!"
}
]
}
Wie dies erreicht werden kann?
Betrachten Sie Inhalt en-reicher und Nachricht Übersetzer EIP in Apache Camel. – Namphibian
Fragen Sie im Grunde, wie Sie mehrere Strings in einen einzelnen JSON-Block (in einer Variablen) in dem von Ihnen gezeigten Format konvertieren, wobei jedes aus einer Gruppe von 4 Datenpaaren besteht? Oder könnte es mehr als 4 Datenpaare geben, zB 'CC' Wert? – Mousey
Es könnte mehr Paare geben. Eigentlich möchte ich benutzerdefinierte Attribute wie "inputname" oder "inputtype" in JSon hinzufügen, die nicht Teil von XML sind. – KmrGtm