parse-json-object
TypeScript icon, indicating that this package has built-in type declarations

3.0.1 • Public • Published

parse-json-object

NPM TypeScript Coverage Status

Parse a typed JSON object.

If I should maintain this repo, please ⭐️ GitHub stars

DM me on Twitter if you have questions or suggestions. Twitter


  • Returns undefined if unable to parse
  • Returns value if successful

Installation

yarn add parse-json-object
npm install parse-json-object
pnpm add parse-json-object

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

Dev Dependencies

  • autorepo: Autorepo abstracts away your dev dependencies, providing a single command to run all of your scripts.
  • zod: TypeScript-first schema declaration and validation library with static type inference

License license

MIT


Related Packages:

Package Sidebar

Install

npm i parse-json-object

Weekly Downloads

20,580

Version

3.0.1

License

MIT

Unpacked Size

7.91 kB

Total Files

8

Last publish

Collaborators

  • bconnorwhite