Java 使用Mule ESB解析MySQL存储过程结果集

Java 使用Mule ESB解析MySQL存储过程结果集,java,mysql,json,mule,anypoint-studio,Java,Mysql,Json,Mule,Anypoint Studio,我正在使用Mule,但很难将MySQL存储过程的结果转换成JSON 如果我在结果出来的时候就把它们放在一边,它会“起作用”——但它在数据中包含了一些不必要的gumf。MySQL将返回两个结果——一个是我想要的实际数据的resultset,另一个是UpdateCount,它将始终返回单个select语句的结果,该结果将始终为零。它们作为哈希映射放置在有效负载中,如下所示: {resultSet1=[{Rounds=15, Division=1, Season=2012, Type=League,

我正在使用Mule,但很难将MySQL存储过程的结果转换成JSON

如果我在结果出来的时候就把它们放在一边,它会“起作用”——但它在数据中包含了一些不必要的gumf。MySQL将返回两个结果——一个是我想要的实际数据的resultset,另一个是UpdateCount,它将始终返回单个select语句的结果,该结果将始终为零。它们作为哈希映射放置在有效负载中,如下所示:

{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之后得到方括号的内容。在将对象转换为JSON控件之前,我已经尝试过设置有效负载,但无法使其正常工作


[payload[0]]和[payload[0][resultSet1]]一样给出了一个空的payload,我不知道还可以尝试什么。

你有没有尝试过[payload['resultSet1'][0]]或[payload['resultSet1'].get0]

我发现有效的答案是Anirban的评论组合,指向并通过连接内容重写了有效负载


在将对象设置为JSON transformer之前,我将有效负载设置为payload['resultSet1'],然后在转换之后,我将有效负载重新设置为['{\competitions\:'+payload+'}']

您可以在这里找到答案:-我之前看到了这一点,并尝试了它,这就是我实现上述目标的方式。在再次完成这些步骤后,我意识到我不需要[0],这就是这个答案让我困惑的地方。话虽如此,当我转换为JSON时,它仍然会吐出一个由方括号包围的字符串,我认为这是无效的。我返回一个竞争列表,如果我这样做,我只会返回第一个竞争。