# bson_new_from_json()

## Synopsis

    bson_t *
    bson_new_from_json (const uint8_t *data, ssize_t len, bson_error_t *error);

## Parameters

- `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_new_from_json()` function allocates and 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 NULL returned.

## Errors

Errors are propagated via the `error` parameter.

## Returns

A newly allocated bson_t if successful, otherwise NULL and `error` is set.

See also

bson_concat()
bson_init()
bson_init_from_json()
bson_init_static()
bson_new()
bson_new_from_buffer()
bson_new_from_data()
bson_new_from_json()
bson_reinit()
bson_reserve_buffer()
bson_sized_new()

See also

bson_init_from_json()
bson_json_reader_read()
bson_new_from_json()