"Protostuff is the stuff that leverages google's protobuf.
A serialization library with built-in support for forward-backward compatibility (schema evolution) and validation.
available formats:
protostuff (native)
graph (protostuff with support for cyclic references. See SerializingObjectGraphs)
protobuf
json
smile (binary json useable from the protostuff-json module)
xml
yaml (ser only)
kvp (binary uwsgi header)
support for messages that are generated by the protostuff-compiler (java_bean)
cyclic references via graph format
see CompilerOptions for more customized compilation of .proto files
support for existing pojos (See runtime schemas)
cyclic references via graph format
polymorphic (a nested message can be an interface/abstract class or even java.lang.Object)
support for existing protoc-generated java messages
see the io instructions for json, xml, yaml)
no support for cyclic references (limitation of the builder pattern)
Interoperability across various mobile platforms
android
kindle
j2me (protostuff-me module)
Transcoding support
converts one encoding to another. See PipeUsage.
Source and Sink
protostuff, protobuf, json, json-numeric, smile, smile-numeric, xml
Sink only
yaml
"