[API reference](https://evolu.dev/docs/api-reference) › [@evolu/common](https://evolu.dev/docs/api-reference/common) › [Bytes](https://evolu.dev/docs/api-reference/common/Bytes) › decodeJsonValue

```ts
function decodeJsonValue(buffer: Buffer): JsonValue;
```

Defined in: [packages/common/src/Bytes.ts:596](https://github.com/evoluhq/evolu/blob/dd96d79f1dbe9a49fa12ce8e0aa7d3d0177795ca/packages/common/src/Bytes.ts#L596)

Decodes a [JsonValue](https://evolu.dev/docs/api-reference/common/Type/variables/JsonValue) using the MessagePack format.

Throws a [BufferError](https://evolu.dev/docs/api-reference/common/Bytes/classes/BufferError) without modifying the Buffer if the encoded value
is malformed, truncated, unsupported, outside the JsonValue domain, or
exceeds 1,000 nested arrays or objects.

### Example

```ts

const buffer = createBuffer([
  0x81, 0xa4, 0x6e, 0x61, 0x6d, 0x65, 0xa3, 0x41, 0x64, 0x61,
]);

assertEqual(decodeJsonValue(buffer), { name: "Ada" });
assertEqual(buffer.unwrap(), new Uint8Array());
```