百科.dev
全部条目在线工具AI 编程趋势榜开源项目技术资讯提交条目
登录
< 返回工具列表
D

destr

> 编程语言
开源

为任意输入提供更快、更安全、更方便的 JSON.parse 替代方案

1.4K stars0 点赞1 次浏览
访问官网GitHub

工具介绍

为任意输入提供更快、更安全、更方便的 JSON.parse 替代方案

destr

[![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。

使用方法

Node.js

安装依赖项:

bash
# npm
npm i destr

# yarn
yarn add destr

# pnpm
pnpm i destr

导入到您的 Node.js 项目中:

javascript
// ESM
import { destr, safeDestr } from "destr";

// CommonJS
const { destr, safeDestr } = require("destr");

Deno

javascript
import { destr, safeDestr } from "https://deno.land/x/destr/src/index.ts";

console.log(destr('{ "deno": "yay" }'));

为什么?

✅ 类型安全

typescript
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

✅ 如果不是字符串,则快速回退到输入

javascript
// Uncaught SyntaxError: Unexpected token u in JSON at position 0
JSON.parse();

// undefined
destr();

✅ 对已知字符串值进行快速查找

javascript
// Uncaught SyntaxError: Unexpected token T in JSON at position 0
JSON.parse("TRUE");

// true
destr("TRUE");

✅ 如果解析失败(为空或为任何纯文本字符串),则回退到原始值

javascript
// Uncaught SyntaxError: Unexpected token s in JSON at position 0
JSON.parse("salam");

// "salam"
destr("salam");

注意: 在安全/严格模式下,使用 safeDestr 会导致失败。

✅ 避免原型污染

Issues· 0 开放

查看全部 Issues在 GitHub 打开

暂无开放 Issues,或尚未同步最近议题。

> 标签

TypeScriptdenojsonjsonparsenode

暂无评论,来聊聊你的看法吧

> 工具信息

发布日期2026年8月1日
最后更新2026年9月17日
分类编程语言
定价开源

> 相关工具

T
TypeScript
JavaScript 的超集,为前端与全栈提供静态类型
P
Python
通用编程语言,广泛用于 Web、数据与 AI
G
Go
Google 推出的简洁高效系统语言