Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/url/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何通过Mule将结果聚合到JSON对象中_Json_Mule_Mule Studio_Mule Component - Fatal编程技术网

如何通过Mule将结果聚合到JSON对象中

如何通过Mule将结果聚合到JSON对象中,json,mule,mule-studio,mule-component,Json,Mule,Mule Studio,Mule Component,我使用的是Mule 3.4,我有一个Mule流,它遍历负载中的行项目,将每个行项目分别传递给web服务,并为每个行项目返回JSON响应 我想知道的是,Mule中是否有方法将这些响应聚合到一个大型JSON对象中,并将其作为响应返回 谢谢 如果您使用 这将为您提供一组地图。然后在foreach/loop之外,将映射列表转换回json,这将为您提供一个json数组,使用: 例如: <foreach> <!--call service - returns {"id" : "1"}

我使用的是Mule 3.4,我有一个Mule流,它遍历负载中的行项目,将每个行项目分别传递给web服务,并为每个行项目返回JSON响应

我想知道的是,Mule中是否有方法将这些响应聚合到一个大型JSON对象中,并将其作为响应返回

谢谢


如果您使用

这将为您提供一组地图。然后在foreach/loop之外,将映射列表转换回json,这将为您提供一个json数组,使用:

例如:

<foreach>
  <!--call service - returns {"id" : "1"} then {"id" : "2"} etc.-->
  <json:json-to-object-transformer returnClass="java.util.HashMap" />`
</foreach>

<json:object-to-json-transformer />

<!-- should output [{"id" : "1"}, {"id" : "2"}] -->

`

对于每个项目,如果您使用

这将为您提供一组地图。然后在foreach/loop之外,将映射列表转换回json,这将为您提供一个json数组,使用:

例如:

<foreach>
  <!--call service - returns {"id" : "1"} then {"id" : "2"} etc.-->
  <json:json-to-object-transformer returnClass="java.util.HashMap" />`
</foreach>

<json:object-to-json-transformer />

<!-- should output [{"id" : "1"}, {"id" : "2"}] -->

`

对于每个项目,如果您使用

这将为您提供一组地图。然后在foreach/loop之外,将映射列表转换回json,这将为您提供一个json数组,使用:

例如:

<foreach>
  <!--call service - returns {"id" : "1"} then {"id" : "2"} etc.-->
  <json:json-to-object-transformer returnClass="java.util.HashMap" />`
</foreach>

<json:object-to-json-transformer />

<!-- should output [{"id" : "1"}, {"id" : "2"}] -->

`

对于每个项目,如果您使用

这将为您提供一组地图。然后在foreach/loop之外,将映射列表转换回json,这将为您提供一个json数组,使用:

例如:

<foreach>
  <!--call service - returns {"id" : "1"} then {"id" : "2"} etc.-->
  <json:json-to-object-transformer returnClass="java.util.HashMap" />`
</foreach>

<json:object-to-json-transformer />

<!-- should output [{"id" : "1"}, {"id" : "2"}] -->

`

虽然Ryan的每种方法都有效(在我看来,没有太多好的选择),但如果第二次web服务调用1000行项目中的某行项目时出于任何原因引发异常,您最好弄清楚如何处理错误

请参考Ryan Carter的其他答案来处理:

在我的用例中,我的负载是一个字符串列表,其中每个字符串都是表示顺序的json。我使用了一个定制的java转换器(不允许在表达式转换器中使用groovy),并以这种方式创建了json。这不是最好的解决办法,但似乎是弊中之轻

Groovy将类似于(根本没有经过测试):


虽然Ryan对每种方法的支持都是可行的(我认为没有太多好的选择),但如果第二次web服务调用1000行项目中的一行项目时,出于任何原因引发异常,您最好弄清楚如何处理错误

请参考Ryan Carter的其他答案来处理:

在我的用例中,我的负载是一个字符串列表,其中每个字符串都是表示顺序的json。我使用了一个定制的java转换器(不允许在表达式转换器中使用groovy),并以这种方式创建了json。这不是最好的解决办法,但似乎是弊中之轻

Groovy将类似于(根本没有经过测试):


虽然Ryan对每种方法的支持都是可行的(我认为没有太多好的选择),但如果第二次web服务调用1000行项目中的一行项目时,出于任何原因引发异常,您最好弄清楚如何处理错误

请参考Ryan Carter的其他答案来处理:

在我的用例中,我的负载是一个字符串列表,其中每个字符串都是表示顺序的json。我使用了一个定制的java转换器(不允许在表达式转换器中使用groovy),并以这种方式创建了json。这不是最好的解决办法,但似乎是弊中之轻

Groovy将类似于(根本没有经过测试):


虽然Ryan对每种方法的支持都是可行的(我认为没有太多好的选择),但如果第二次web服务调用1000行项目中的一行项目时,出于任何原因引发异常,您最好弄清楚如何处理错误

请参考Ryan Carter的其他答案来处理:

在我的用例中,我的负载是一个字符串列表,其中每个字符串都是表示顺序的json。我使用了一个定制的java转换器(不允许在表达式转换器中使用groovy),并以这种方式创建了json。这不是最好的解决办法,但似乎是弊中之轻

Groovy将类似于(根本没有经过测试):