I use a int:gateway to bring in a json String into a int:channel. When I print this json String using <int-stream:stdout-channel-adapter/> (or even if I print it inside a service activator attached to int:channel) it is printing key/value pairs with = instead of :
For example -> GenericMessage [payload={id=1596096, key=SOME_KEY, address={first_name=John, last_name=......
To solve this problem I have to use a <int:object-to-json-transformer />
What is the best way to work with raw JSON? My use case is to do a JSON to JSON transformation (also using a splitter).
Your printed payload looks more like a
Mapor some POJO, so probably before that<int-stream:stdout-channel-adapter/>you have a step transforming an incoming string into that object.For raw JSON we suggest to deal with a
#jsonpath()SpEL-function: https://docs.spring.io/spring-integration/docs/current/reference/html/spel.html#built-in-spel-functions