我在有效负载中有 2 个 json feed(使用 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]]}
不带常规脚本:
[org.glassfish.grizzly.utils.BufferInputStream@102e37e, org.glassfish.grizzly.utils.BufferInputStream@a569d1]
输入流数组
我尝试使用字节数组到字符串,以及对象到字符串,但它不起作用,我不知道如何解决这个问题
最佳答案
替换:
payload.toString().replace("}{","},{")
与:
payload.collect { it.text }.join(',')
说明:.text
将输入流反序列化为字符串,因此 payload.collect { it.text }
将生成字符串集合。然后 join(',')
负责连接这些字符串,并用 ,
关于json - 消费 org.glassfish.grizzly.utils.BufferInputStream@ Mule,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30935587/