parse-json-object
v3.0.1
Published
Parse a typed JSON object
Downloads
90,331
Maintainers
Readme
If I should maintain this repo, please ⭐️
DM me on Twitter if you have questions or suggestions.
- 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
- is-zod: Typeguard to check if a value matches a zod schema
- types-json: Type checking for JSON values
- 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
Related Packages:
- stringify-json-object: Stringify and format a JSON object
- types-json: Type checking for JSON objects