char *
Contents
Copyright
2009-present, MongoDB, Inc.
1.30.4 Jun 08, 2025 BSON_AS_JSON_WITH_OPTS(3)
Description
bson_as_json_with_opts() encodes bson as a UTF-8 string in the MongoDBExtendedJSONformat or libbson'sLegacyExtendedJSON.
The caller is responsible for freeing the resulting UTF-8 encoded string by calling bson_free() with the
result.
If non-NULL, length will be set to the length of the result in bytes.
The opts structure is used to pass options for the encoding process. Please refer to the documentation of
bson_json_opts_t for more details.
Example
bson_t *b = BCON_NEW ("foo", BCON_INT32 (123));
bson_json_opts_t *opts = bson_json_opts_new (BSON_JSON_MODE_CANONICAL, BSON_MAX_LEN_UNLIMITED);
char *str = bson_as_json_with_opts (b, NULL, opts);
printf ("Canonical Extended JSON: %s\n", str);
// Prints:
// Canonical Extended JSON: { "foo" : { "$numberInt" : "123" } }
bson_free (str);
bson_json_opts_destroy (opts);
bson_destroy (b);
Parameters
• bson: A bson_t.
• length: An optional location for the length of the resulting string.
• opts: A bson_json_opts_t.
Returns
If successful, a newly allocated UTF-8 encoded string and length is set.
Upon failure, NULL is returned.
Synopsis
char *
bson_as_json_with_opts (const bson_t *bson, size_t *length, const bson_json_opts_t *opts);
