bson_as_json_with_opts(3)

bson_as_json_with_opts3

Usage

char *
bson_as_json_with_opts (const bson_t *bson, size_t *length, const bson_json_opts_t *opts);

Parameters

•

bson: A bson_t.

•

length: An optional location for the length of the resulting string.

•

opts: A bson_json_opts_t.

Overview

bson_as_json_with_opts() encodes bson as a UTF-8 string in the MongoDB Extended JSON format or libbson's Legacy Extended JSON.

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.

Returns

If successful, a newly allocated UTF-8 encoded string and length is set.

Upon failure, NULL is returned.

Examples

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);

Releases

2 releases since Debian 12 (Bookworm); the text changed 1 time.

  1. 12
  2. 13

Author

MongoDB, Inc

From libbson-doc 1.30.4-1+deb13u3 in Debian 13 (Trixie). Parsed by carta from the page's man source.