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

```ts
type JsonValue =
  | string
  | FiniteNumber
  | boolean
  | null
  | JsonArray
  | JsonObject;
```

Defined in: [packages/common/src/Type.ts:4117](https://github.com/evoluhq/evolu/blob/e7144e2bbe9069362b62dec1b64a8aa922b8f1b0/packages/common/src/Type.ts#L4117)

Validated JSON-compatible value.

This is the output side of JSON data in Evolu. It uses [FiniteNumber](https://evolu.dev/docs/api-reference/common/Type/variables/FiniteNumber)
instead of `number` because JSON numbers are expected to be finite once the
value has been parsed or validated.

Compare with [JsonValueInput](https://evolu.dev/docs/api-reference/common/Type/type-aliases/JsonValueInput), which represents caller-provided input
before validation.