storm-json provides JSON serialisation support for Storm. It currently provides two classes:
- SimpleJSONScheme:
an implementation of
backtype.storm.spout.Scheme
for writing spouts that consume from a source producing JSON. - SimpleJSONSerializer:
an implementation of
backtype.storm.serialization.ISerialization
so that spouts and bolts can emit and receive tuples containing JSON values.
The Javadocs can be found at http://code.rapportive.com/storm-json.
To produce a jar:
$ mvn package
To install in your local Maven repository:
$ mvn install
To use in your pom.xml
:
<project>
<!-- ... -->
<dependencies>
<!-- ... -->
<dependency>
<groupId>com.rapportive</groupId>
<artifactId>storm-json</artifactId>
<version>0.0.1</version>
</dependency>
<!-- ... -->
</dependencies>
<!-- ... -->
</project>
SimpleJSONSerializer
will only deserialise JSON objects, arrays, or null
;
it will not accept top-level strings or numbers (although of course strings and
numbers inside arrays or objects are fine).
The behaviour on invalid JSON or top-level strings or numbers is currently to throw an exception, which is not very friendly.