# JsonDeserializer

`import { JsonDeserializer } from "destack:json";`

JSON decoder.

```ds title="JsonDeserializer"
export class JsonDeserializer {
    Error = JsonError;
    deserializeNull(): Result<void, JsonError>;
    deserializeBoolean(): Result<boolean, JsonError>;
    deserializeNumber(): Result<float64, JsonError>;
    deserializeString(): Result<^string, JsonError>;
    deserializeArray<T: Deserialize<this>>(): Result<^T[], JsonError>;
    deserializeField<T: Deserialize<this>>(key: string): Result<T | undefined, JsonError>;
}
```

[language/library/src/json/codec.ds:57:93](https://github.com/destack-sh/destack/blob/main/language/library/src/json/codec.ds#L57-L93)

## Members

### `Error = JsonError`

The decoding error type.

### `deserializeNull(): Result<void, JsonError>`

Deserialize a null value.

### `deserializeBoolean(): Result<boolean, JsonError>`

Deserialize a boolean value.

### `deserializeNumber(): Result<float64, JsonError>`

Deserialize a number value.

### `deserializeString(): Result<^string, JsonError>`

Deserialize a string value.

### `deserializeArray<T: Deserialize<this>>(): Result<^T[], JsonError>`

Deserialize an array value.

### `deserializeField<T: Deserialize<this>>(key: string): Result<T | undefined, JsonError>`

Deserialize an object field.
