Name | Comments | License |
---|
MessagePack | - JSON-compatible schemaless Schemaless binary format.
- Compatible with JSON (can be directly converted convert to JSON and from JSON: an important use case)
- The most popular among all. High-performance, well-maintained implementations exist for many languages.
| Java: Apache 2.0, C#: MIT, C++: MIT (nlohmann/json), Python: Apache 2.0, JavaScript: MIT, PHP: MIT |
CBOR | - Based on MessagePack.
- Less popular than MessagePack, fewer implementations, outdated PHP implementation.
- Standardized (RFC7049), but MessagePack is simpler.
- Included in stdlib in .NET 5.
- "Use MsgPack instead of CBOR": https://diziet.dreamwidth.org/6568.html
| Java: Apache 2.0, C#: CC0, C++: MIT, Python: MIT, JavaScript: MIT, PHP: PHP License |
FlexBuffers | - "Schemaless cousin of Google's FlatBuffers". Can be accessed without parsing, copying, or allocation.
- Can't serialize arbitrary objects at this point (in Java and C#)
- Relatively new, has not gained traction
|
|
BSON | Designed for MongoDB storage and in-memory manipupation, not for network usage => more verbose than MessagePack/CBOR |
|
UBJSON | Seems to be abandoned, implementations (e.g. C#) are not maintained |
|