在Spring Integration中将JSON作为字符串

问题描述

我使用int:gateway将json字符串引入int:channel中。当我使用<int-stream:stdout-channel-adapter/>打印此json字符串时(或即使我将其打印在附加到int:channel的服务激活器中),它也会使用=而不是{{1}打印键/值对} 例如-> :解决此问题,我必须使用Genericmessage [payload={id=1596096,key=SOME_KEY,address={first_name=John,last_name=......

使用原始JSON的最佳方法是什么?我的用例是进行JSON到JSON的转换(也使用拆分器)。

解决方法

您打印的有效负载看起来更像是textbox.WordWrap = true或某种POJO,因此在Map之前,您需要执行一个步骤,将输入的字符串转换为该对象。

对于原始JSON,我们建议处理<int-stream:stdout-channel-adapter/> SpEL函数:https://docs.spring.io/spring-integration/docs/current/reference/html/spel.html#built-in-spel-functions