2016-02-19 88 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

我回来的比赛列表,如果我这样做,我只是得到第一场比赛回来了。 –