为任意输入提供更快、更安全、更方便的 JSON.parse 替代方案
[![npm 版本][npm-version-src]][npm-version-href]
[![npm 下载量][npm-downloads-src]][npm-downloads-href]
[![bundle][bundle-src]][bundle-href]
[![许可证][license-src]][license-href]
一个更快速、安全且方便的替代方案,用于 JSON.parse。
安装依赖项:
# npm
npm i destr
# yarn
yarn add destr
# pnpm
pnpm i destr导入到您的 Node.js 项目中:
// ESM
import { destr, safeDestr } from "destr";
// CommonJS
const { destr, safeDestr } = require("destr");import { destr, safeDestr } from "https://deno.land/x/destr/src/index.ts";
console.log(destr('{ "deno": "yay" }'));const obj = JSON.parse("{}"); // obj type is any
const obj = destr("{}"); // obj type is unknown by default
const obj = destr<MyInterface>("{}"); // obj is well-typed// Uncaught SyntaxError: Unexpected token u in JSON at position 0
JSON.parse();
// undefined
destr();// Uncaught SyntaxError: Unexpected token T in JSON at position 0
JSON.parse("TRUE");
// true
destr("TRUE");// Uncaught SyntaxError: Unexpected token s in JSON at position 0
JSON.parse("salam");
// "salam"
destr("salam");注意: 在安全/严格模式下,使用 safeDestr 会导致失败。
暂无开放 Issues,或尚未同步最近议题。