Camel Route:tùy chỉnh JSON đầu ra trong 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>
Input XML:
<?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>
thực tế đầu ra:
{"to":" Tove","from":"Jani","heading":"Reminder","body":"Don't forget me this weekend!"}
Tôi muốn tùy chỉnh đầu ra này. tôi muốn thêm một số thuộc tính mote vào json được chuyển đổi. Ví dụ tôi muốn json đầu ra là
{
"inputs":[
{
"inputname":"to",
"inputValue":"Tove"
},
{
"inputname":"from",
"inputValue":"jani"
},
{
"inputname":"heading",
"inputValue":"Reminder"
},
{
"inputname":"body",
"inputValue":"Don't forget me this weekend!"
}
]
}
Làm cách nào để đạt được điều này?
Xem nội dung phong phú hơn và EIP dịch thông điệp trong Apache Camel. – Namphibian
Về cơ bản, bạn có yêu cầu cách chuyển đổi nhiều chuỗi thành một đoạn JSON duy nhất (được giữ trong một biến) theo định dạng bạn đã hiển thị, mỗi chuỗi bao gồm một nhóm 4 cặp dữ liệu không? Hoặc có thể có nhiều hơn 4 cặp dữ liệu, ví dụ như giá trị 'CC'? – Mousey
Có thể có nhiều cặp hơn. Những gì tôi thực sự muốn là thêm các thuộc tính tùy chỉnh, như "inputname" hoặc "inputtype" trong JSon, mà không phải là một phần của XML. – KmrGtm