@bugsnag/safe-json-stringify

中文文档
6.1.0发布于 2025/08/14MITTypeScriptCommonJS零依赖近 30 天下载 535.2万

防止定义属性获取器丢出错误

中文使用文档
文档目录4 节
  1. 安装
  2. 使用量
  3. 示例
  4. 许可证

@ bugsnag/ safe-json- 字符串

Build Status NPM Version

这是叉子 safe-json-stringify 带有一些意见性改动,特别是 虫纳克 使用大小写 :

  • IE8支持. 我们 联合来文通知 支持 IE8,因此其所有依赖必须使用IE8相容的API.
  • 对象深度/面包的硬度限制 。 鉴于数据结构足够深入/广泛,原始版本将耗尽内存或堆栈分配。 值被字符串所取代 ... 在这种情况下.
  • 不取代重复引用,但非循环引用(由 @MikeRalphson (英语) 内 他们的叉子(中文(简体) )
  • 添加在特定子树上应用基于密钥过滤器的能力

安装

npm install @bugsnag/safe-json-stringify

使用量

API 和 JSON.stringify后加 options 对象 :

stringify(obj, [optional replacer], [optional spaces], [options])
  • options.redactedKeys: 以字符串替换其值的密钥列表 [REDACTED]键可以是大小写不敏感匹配的字符串,也可以是部分匹配或图案匹配的正则克塞. 阵列可以包含两者的混合物.
  • options.redactedPaths: 一个路径列表 redactedKeys 选项将被应用。 这些字符串的格式是由密钥名称分隔的 . 如果属性是数组,则以 []。例如: events.[].metaData。 。 。 .

示例

var stringify = require('@bugsnag/safe-json-stringify')
stringify({
  api_key: 'd145b8e5afb56516423bc4d605e45442',
  events: [
    {
      errorMessage: 'Failed load tickets',
      errorClass: 'CheckoutError',
      user: {
        name: 'Jim Bug',
        email: '[email protected]',
        api_key: '245b39ebd3cd3992e85bffc81c045924'
      }
    }
  ]
}, null, 2, {
  redactedKeys: [ 'api_key' ],
  redactedPaths: [ 'events.[].user' ]
})

// yields the following json:
// {
//   "api_key": "d145b8e5afb56516423bc4d605e45442",
//   "events": [
//     {
//       "errorMessage": "Failed load tickets",
//       "errorClass": "CheckoutError",
//       "user": {
//         "name": "Jim Bug",
//         "email": "[email protected]",
//         "api_key": "[REDACTED]"
//       }
//     }
//   ]
// }

许可证

最初的代码获得麻省理工学院的许可,修改也一样.

《麻省理工学院许可证》

版权(c)2014-2018年 开发者, (中文(简体) ), 错误

特此准许任何人免费获得本软件和相关文件文件("软件")的副本,不受限制地在软件中进行交易,包括不受限制地享有软件的使用、复制、修改、合并、出版、分发、分版和(或)销售的权利,并允许软件获得者这样做,但须符合下列条件: 1

上述版权通知和许可通知应载入软件的所有副本或大部分.

软件是提供的"AS IS", 没有任何种类的恐惧, 释放或被卷入, 包括但不限制在 危机的保障, 证明一个特定的目的和无关。 任何索赔、索赔或其他负债,无论是合同、交易或其他行为,产生于、产生于或涉及软件或软件的使用或其他交易的行为,都不得作为担保.

版本与发布记录

@bugsnag/safe-json-stringify 共发布 9 个版本,首次发布于 2018/04/12;过去 12 个月发布了 0 个版本。

版本发布日期距今
6.1.0latest2025/08/141.2 年前
6.0.02020/07/066 年前
5.0.02019/10/297 年前
4.0.02019/01/047 年前
3.0.02018/08/228 年前
3.0.0-0prerelease2018/08/208 年前

关于 @bugsnag/safe-json-stringify 的常见问题

@bugsnag/safe-json-stringify 是什么?

防止定义属性获取器丢出错误

如何安装 @bugsnag/safe-json-stringify?

在项目目录运行 npm install @bugsnag/safe-json-stringify,或使用 pnpm add / yarn add / bun add。

@bugsnag/safe-json-stringify 支持 TypeScript 吗?

支持。包内自带 TypeScript 类型声明(package.json 声明了 types 入口),安装后即可获得类型提示,无需再安装 @types 包。

@bugsnag/safe-json-stringify 支持 ESM 还是 CommonJS?

以 CommonJS 形式发布,可以直接 require();在 ES Module 项目中也可以用 import 引入(Node.js 会把 module.exports 作为默认导出)。

@bugsnag/safe-json-stringify 可以商用吗?

@bugsnag/safe-json-stringify 使用 MIT 许可。宽松许可:允许商业使用、修改和再分发,通常只需在分发时保留原版权与许可声明。以上为概括,不构成法律意见,请以许可原文为准。

@bugsnag/safe-json-stringify 的下载量有多少?

根据 npm 官方下载统计,@bugsnag/safe-json-stringify 在 2026/10/09 – 2026/11/07 这 30 天内被下载 5,352,178 次,日均约 178,406 次。下载量会把 CI 构建、镜像同步和作为其他包依赖的安装一并计入,适合横向比较热度,不能直接等同于使用人数。

@bugsnag/safe-json-stringify 还在维护吗?

最新版本 6.1.0 发布于 2025/08/14(1.2 年前);至今共发布 9 个版本,其中过去 12 个月发布了 0 个;首次发布于 2018/04/12。发布频率只是参考信号:功能稳定的工具可能很少需要更新,建议结合源码仓库的 issue 和提交记录判断。