Skip to content
Back to top

# 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.

See also

bson_as_canonical_extended_json()
bson_as_relaxed_extended_json()
bson_as_legacy_extended_json()
bson_as_json_with_opts()
bson_array_as_canonical_extended_json()
bson_array_as_relaxed_extended_json()
bson_array_as_legacy_extended_json()