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

标签 json groovy mule mule-studio mule-component

我在有效负载中有 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/

相关文章:

javascript - 访问 javascript 数组中的不同元素

javascript - 结合 JSON 文件与 grunt-contrib-concat

javascript - 将多行从 JSON 结构插入到 MySQL

groovy - 什么是 << 运算符?

xml - 在 Groovy 中对 XML 进行排序

python - Mule 3.4 - 使用 Python 编写脚本

java - 使用java在MUnit中设置流变量

javascript - Joi验证: How to make values in nested json optional?

groovy - Groovy优于Jython或Jruby?

java - 从 Mule 中的虚拟机队列发布到 REST 端点