[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) › JsonValueFromJson

```ts
const JsonValueFromJson: transform(
  "JsonValueFromJson",
  Json,
  JsonValue,
  {
    from: (value) => ok(parseJson(value)),
    to: stringifyJsonValue,
  },
);
```

Defined in: [packages/common/src/Type.ts:14307](https://github.com/evoluhq/evolu/blob/f0109fb501a593010e858e39248dde1200eeb2d7/packages/common/src/Type.ts#L14307)

Transformation [Type](https://evolu.dev/docs/api-reference/common/Type/interfaces/Type) that parses [Json](https://evolu.dev/docs/api-reference/common/Type/variables/Json) into [JsonValue](https://evolu.dev/docs/api-reference/common/Type/variables/JsonValue).

Decoding unknown input first validates the Json Brand. Starting from the
typed Json parent is infallible. Encoding canonicalizes JSON text.

### Example

```ts

const result = JsonValueFromJson.fromUnknown('{ "name": "Ada" }');

assertOk(result, { name: "Ada" });
assertEqual(JsonValueFromJson.to(result.value), '{"name":"Ada"}');
```