The portable pickle is like JSON, only better.
What’s wrong with JSON
- Verbose: keys repeated n times when there are n objects of the same type.
- Lacks types: date-time, set, large integer or other precise number type, binary string.
- No circular structures.
- Can’t be hashed (lacks canonicalization form, though one could be defined).
Object types in portable-pickle should also be namespaced with URIs. This would allow decoder implementations to automatically instantiate objects of the correct type in the using-programmer’s code.
CBOR is much better than JSON: solves the types problem and the hashing problem at least.