Encode the specified datum as a JSON string, and load the specified result with the encoded JSON string. Return 0 on success, and a negative value if datum could not be encoded (with no effect on result). If the optionally specified options argument is not present, treat it as a default-constructed DatumEncoderOptions. If options.strictTypes is true and a type that is not supported by JSON, or a singular double value (e.g., NaN or infinity) is being encoded (see []Types)) return a positive value, but also populate result with an encoded JSON string (i.e., the value of result is the same regardless of the strictTypes option, but if strictTypes is true a non-zero positive status will be returned). The mapping of types supported by Datum to JSON types is described in []Types).
Declared in <baljsn_datumutil.h>
static
int
encode(
bsl::string* result,
bdld::Datum const& datum);