我試圖操縱REST-API的json-request-reply場景中的數據。如何在WSO2 ESB中操作本機Json?
爲了簡化我的問題,我們假設我想在有效載荷內用'd'替換所有'b'字符。
有沒有辦法讓我在json-data上本地工作,而不是先將數據轉換爲XML?
我試圖建立一個自定義的類調解器放入我的OutSequence,但由於我只有訪問MessageContext,它將有效載荷視爲XML,我遇到了問題。
問題是,json無法轉換爲XML或從XML轉換。
它有它的內部結構這一部分:
"Destination": {
"name": "abc",
"type": "ST",
"$": "\n"
}
的「$」屬性是有效的JSON,但由於WSO2 ESB總是處理數據作爲其MessageContext的內部XML,它不能變換屬性標籤很明顯,所以每當我做
MessageContext.getEnvelope().getBody()
我的課中介裏面,反應是:
<Destination>
<name>abc</name>
<type>ST</type>
</Destination>
缺少$屬性。
我使用的消息建設者:org.apache.synapse.commons.json.JsonStreamBuilder和格式:org.apache.synapse.commons.json.JsonStreamFormatter
通過在正常情況下的內容(否則它將在XML到JSON處理步驟中失敗)。但是,我必須有一種方法讓我以本機JSON(或本地字符串?)操縱數據,或許能夠掌握InputStream並從中操縱數據?但是我找不到從消息上下文到InputStream的方法?