2014-01-21 27 views
1

我想返回一個AssignMessage中的JSON主體。在Apigee JSON payload中嵌入變量

我發現,如果我把它寫成: <Payload> { "json":"json" } </Payload>

{被解釋爲一個變量。所以我逃脫它作爲

和JSON負載出來正常。

現在,我想在主體中包含一個變量,如message.queryparam.xxx。 由於初始{已被轉義,因此我不能再使用{}。 我該怎麼做?

回答

5

你可以通過定義變量分隔符來實現。

<Payload contentType="application/json" variablePrefix="$" variableSuffix="%"> 
{ 
    "Key": "$variableName%" 
} 
</Payload> 
+0

該塊在哪裏進入AssignMessage? – pulkitsinghal

+0

@pulkitsinghal有關AssignMessage策略模式的完整詳細信息,請參閱http://apigee.com/docs/api-services/content/generate-or-modify-messages-using-assignmessage上的文檔它在那裏可用。 –

+1

我做到了!由於之後的試驗和錯誤比任何開發者想要的都要花費更長的時間,因此這裏有一個要求每個人仔細閱讀以獲取關於放置內容的視覺提示的要點:https://gist.github.com/pulkitsinghal/9350348 – pulkitsinghal

1

,而不是與variablePrefix和後綴搞亂我剛剛逃過第一curlybrace這樣:

<Payload contentType="application/json"> 
    \{ 
    "Key": "{variableName}" 
    } 
</Payload> 

不要逃避關閉curlybrace否則就會拋出一個錯誤。