Skip to content

Json

const Json: object

Defined in: Data/Json.ts:23

Pure, non-throwing JSON utilities. Wraps runtime JSON parsing and stringifying in typed Result containers.

parse: <T>(text) => Result<SyntaxError, T>

Safely parses a JSON string into unknown (or a designated type T). Converts thrown exceptions into a Result<SyntaxError, T>.

T = unknown

string

Result<SyntaxError, T>

Json.parse('{"a": 1}'); // Ok({ a: 1 })
Json.parse('{invalid}'); // Err(SyntaxError)

stringify: (value, replacer?, space?) => Result<TypeError, string>

Safely stringifies a value into a JSON string. Converts thrown exceptions (e.g. circular references) or un-serializable values (e.g. undefined, functions) into a Result<TypeError, string>.

unknown

(this, key, value) => any

string | number

Result<TypeError, string>

Json.stringify({ a: 1 }); // Ok('{"a":1}')
Json.stringify(undefined); // Err(TypeError)
import { Json, pipe } from "@pplnd/core";

const result = pipe(
  Json.parse<{ readonly name: string }>('{"name":"Alice"}'),
  Result.map((data) => data.name)
); // Ok("Alice")