BSON

BSON actually do two things at once.

  1. Add extra types (datetime, regular expression, JavaScript code, ...) to JSON.
  2. Define machine-friendly representation of JSON-like data structure.

And BSON's array representation is not effecient in space.