npm.io
4.0.0 • Published 5 months ago

parse-json-object

Licence
MIT
Version
4.0.0
Deps
2
Size
9 kB
Vulns
0
Weekly
0

parse-json-object

NPM TypeScript

Parse a typed JSON object.

Installation

NPM
npm install parse-json-object
Yarn
yarn add parse-json-object
PNPM
pnpm add parse-json-object
Bun
bun add parse-json-object
  • Returns undefined if unable to parse
  • Returns value if successful

Usage

Types
import {
  parseJSONValue,
  parseJSONObject,
  parseJSONArray,
  parseString
} from "parse-json-object";

parseJSONValue("1"); // 1
parseJSONValue("not valid json"); // undefined

parseJSONObject('{"a": 1}'); // { a: 1 }
parseJSONArray("[1, 2, 3]"); // [1, 2, 3]
parseString('"hello"'); // "hello"

Additionally, a parse function is provided, which takes a function to validate the parsed value. This can be easily used with zod to validate more complex types:

import { parse } from "parse-json-object";
import z from "zod";

const schema = z.object({
  a: z.number(),
  b: z.string()
});

parse('{ a: 1, b: "hello" }', schema); // { a: 1, b: 'hello' }

A custom typeguard can also be used:

import { parse } from "parse-json-object";

function isNumber(value: unknown): value is number {
  return typeof value === "number";
}

parse("1", isNumber); // 1
parse("not a number", isNumber); // undefined

Dependenciesdependencies

  • is-zod: Typeguard to check if a value matches a zod schema
  • types-json: Type checking for JSON values

License license

MIT - MIT License

Keywords