Libbson Legacy Extended JSON#

libbson can produce a non-portable Legacy Extended JSON format.

Warning

Use of the Legacy Extended JSON format is discouraged. Prefer Canonical Extended JSON or Relaxed Extended JSON for portability.

MongoDB Extended JSON (v2) describes the preferred Relaxed Extended JSON format and Canonical Extended Formats

libbson’s Legacy Extended JSON format matches Relaxed Extended JSON with the following exceptions. Notation is borrowed from MongoDB Extended JSON (v2):

Type

Legacy Extended JSON

Binary

{ "$binary": "<payload>", "$type": "<t>" }

Date

{ "$date" : "<millis>" }

Regular Expression

{ "$regex" : "<regexPattern>", "$options" : "<options>" }

DBPointer (deprecated)

{ "$ref" : "<collection namespace>", "$id" : "<ObjectId bytes>" }

Symbol (deprecated)

"<string>"

Double infinity

infinity or inf without quotes. Implementation defined. Produces invalid JSON.

Double NaN

nan or nan(n-char-sequence). Implementation defined. Produces invalid JSON.