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

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

Defined in: [packages/common/src/Buffer.ts:337](https://github.com/evoluhq/evolu/blob/037c390af081e9944d616ff298a729515c5c5ab7/packages/common/src/Buffer.ts#L337)

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/Buffer/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());
```