# bson_init_from_json()

## Synopsis

    bool
    bson_init_from_json (bson_t *bson,
                         const char *data,
                         ssize_t len,
                         bson_error_t *error);

## Parameters

- `bson`: Pointer to an uninitialized bson_t.
- `data`: A UTF-8 encoded string containing valid JSON.
- `len`: The length of `data` in bytes excluding a trailing `\0` or -1 to determine the length with `strlen()`.
- `error`: An optional location for a bson_error_t.

## Description

The `bson_init_from_json()` function will initialize a new bson_t by parsing the JSON found in `data`. Only a single JSON object may exist in `data` or an error will be set and false returned.

`data` should be in MongoDB Extended JSON format.

## Errors

Errors are propagated via the `error` parameter.

## Returns

Returns `true` if valid JSON was parsed, otherwise `false` and `error` is set. On success, `bson` is initialized and must be freed with bson_destroy(), otherwise `bson` is invalid.

### See Also:

bson_concat

bson_init

bson_init_static

bson_json_reader_read

bson_new

bson_new_from_buffer

bson_new_from_data

bson_new_from_json

bson_reinit

bson_reserve_buffer

bson_sized_new