2016-02-19 89 views
1

我正在使用Mule,並且無法從MySQL存儲過程將結果導入JSON中。使用Mule ESB解析MySQL存儲過程結果集

如果我在結果出來的時候離開結果,它就「有效」 - 但它包含了一些不必要的數據。 MySQL返回兩個結果 - 一個是我想要的實際數據的結果集,另一個是UpdateCount(它總是爲零,它總是返回單個select語句的結果)。這些被放置在有效負載爲一個HashMap,表示如下:

{resultSet1=[{Rounds=15, Division=1, Season=2012, Type=League, Split=null, Name=DIVISION 1, ID=1}, {Rounds=14, Division=2, Season=2012, Type=League, Split=null, Name=DIVISION 2, ID=2}, {Rounds=14, Division=3, Season=2012, Type=League, Split=null, Name=DIVISION 3, ID=3}], updateCount1=0} 

當我嘗試轉換以上爲JSON它的工作原理,但它打印出的一切。

我想要做的就是在resultSet1之後得到方括號內容。我已經嘗試在我的Object-to-JSON控件之前做一個「Set Payload」,但無法完成它的工作。

​​給出NullPayload,與#[payload[0][resultSet1]]一樣,我不確定還有什麼可以嘗試的。

+0

你可以在這裏找到答案: - http://stackoverflow.com/questions/ 28526065/how-to-extract-the-value-of-resultset-returned-from-jdbc-response-via-mel-mule –

+0

我之前看到了這個,試過了,這就是我如何得到上述結果。再次通過這些步驟後,我意識到我只是不需要[0],這就是讓我困惑的地方。 話雖如此,它仍然吐出一個由方括號包圍的字符串,當我轉換爲JSON,我不認爲(?)這是有效的JSON –

回答

1

你試過#[payload['resultSet1'][0]]#[payload['resultSet1'].get(0)]

+0

我回來的比賽列表,如果我這樣做,我只是得到第一場比賽回來了。 –