消费org.glassfish.grizzly.utils.BufferInputStream @Mule

时间:2015-06-19 10:14:32

标签: json groovy mule mule-studio mule-component

我有2个json提供有效负载(使用Gather),我计划使用一个groovy脚本将它变成一个json(我期望类似:

{key:value}{key:value})
<scripting:transformer doc:name="Groovy">
        <scripting:script engine="Groovy"><![CDATA[return '{"data":['+payload.toString().replace("}{","},{"+']}']]></scripting:script>    
    </scripting:transformer>

(预期输出:{"data":[{key:value},{key:value}]}

但我明白了:

{"data":[[org.glassfish.grizzly.utils.BufferInputStream@102e37e, org.glassfish.grizzly.utils.BufferInputStream@a569d1]]}

W / O groovy脚本:

[org.glassfish.grizzly.utils.BufferInputStream@102e37e, org.glassfish.grizzly.utils.BufferInputStream@a569d1]

输入流数组

我尝试将字节数组用于字符串,并将对象转换为字符串,但它不起作用,我不知道如何解决这个问题

1 个答案:

答案 0 :(得分:2)

替换:

payload.toString().replace("}{","},{")

使用:

payload.collect { it.text }.join(',')

说明:.text将输入流反序列化为字符串,因此payload.collect { it.text }将生成字符串集合。然后join(',')负责连接这些字符串,并将它们与,

分开