[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
JsonValue: recursive(
  (): UnionType<
    [
      typeof String,
      typeof FiniteNumber,
      typeof Boolean,
      typeof Null,
      ArrayType<
        Type<
          "Recursive",
          JsonValue,
          JsonValueInput,
          JsonValueError,
          JsonValueInput,
          JsonValueError
        >
      >,
      RecordType<
        "String",
        string,
        string,
        StringError,
        string,
        StringError,
        Type<
          "Recursive",
          JsonValue,
          JsonValueInput,
          JsonValueError,
          JsonValueInput,
          JsonValueError
        >
      >,
    ]
  > => union(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)

JSON-compatible value: string, [FiniteNumber](https://evolu.dev/docs/api-reference/common/Type/variables/FiniteNumber), boolean, null,
[JsonArray](https://evolu.dev/docs/api-reference/common/Type/variables/JsonArray), or [JsonObject](https://evolu.dev/docs/api-reference/common/Type/variables/JsonObject).