@ComponentProfile(summary="Split a JSON Array into individual JSON objects", tag="json,splitting") public class JsonArraySplitter extends JsonObjectSplitter
If the message cannot be parsed as JSON then an exception will be thrown; If the message is a JSON object but not a JSON array, then the original message is returned. Note that because it operates on the entire payload, size of message considerations may be in order.
For instance the JSON array
[{colour: "red",value: "#f00"},{colour: "green",value: "#0f0"},{colour: "blue",value: "#00f"},{colour: "black",value: "#000"}]
would be split into 4 messages whereas
{"colours" : [{colour: "red",value: "#f00"},{colour: "green",value: "#0f0"},{colour: "blue",value: "#00f"},{colour: "black",value: "#000"}] }
would remain a single message.
In the adapter configuration file this class is aliased as json-array-splitter which is the preferred alternative to the fully qualified classname when building your configuration.
MessageSplitterImp.SplitMessageIterator
LOGGER
logR
Constructor and Description |
---|
JsonArraySplitter() |
Modifier and Type | Method and Description |
---|---|
java.util.List<AdaptrisMessage> |
splitMessage(AdaptrisMessage message)
Split an JSON array message.
|
createSplitMessage, splitMessage
copyMetadata, getCopyMetadata, getCopyObjectMetadata, getMessageFactory, selectFactory, setCopyMetadata, setCopyObjectMetadata, setMessageFactory
public java.util.List<AdaptrisMessage> splitMessage(AdaptrisMessage message) throws CoreException
splitMessage
in interface MessageSplitter
splitMessage
in class JsonObjectSplitter
message
- The Adaptris message.CoreException