# @bugsnag/safe-json-stringify 中文文档

规范地址：https://npmcn.com/package/%40bugsnag/safe-json-stringify/

版本：6\.1\.0
npm 元数据更新时间：2026-06-29T18:42:30.030Z
中文译文更新时间：2026-11-08T18:45:52.340Z
软件包许可：MIT

本文由上游 README 翻译，可能存在偏差，请结合原文核对 API、命令与配置。版权与许可归原作者所有。

原始 npm 页面：https://www.npmjs.com/package/%40bugsnag/safe-json-stringify
原文对照：https://npmcn.com/package/%40bugsnag/safe-json-stringify/?lang=original
项目主页：https://github.com/bugsnag/safe-json-stringify
源码仓库：https://github.com/bugsnag/safe-json-stringify

## 关键信息（来自 npm 元数据）

- 包体积（解压后）：9.8 kB，4 个文件
- 模块格式：CommonJS
- TypeScript 类型：包内自带
- 运行依赖：0 个
- 首次发布：2018-04-12T09:07:47.244Z
- 最新版本发布：2025-08-14T14:58:08.414Z
- 近 30 天下载量：5352178（2026-10-09 至 2026-11-07，npm 官方下载统计）
- 已发布版本数：9（近 12 个月 0 个）

## 中文简介

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

## 安装

```sh
npm install @bugsnag/safe-json-stringify
```

也可以使用：`pnpm add @bugsnag/safe-json-stringify`、`yarn add @bugsnag/safe-json-stringify`、`bun add @bugsnag/safe-json-stringify`

## README

# @ bugsnag/ safe-json- 字符串

[![Build Status](https://travis-ci.org/bugsnag/safe-json-stringify.svg?branch=master)](https://travis-ci.org/bugsnag/safe-json-stringify) [![NPM Version](https://img.shields.io/npm/v/@bugsnag/safe-json-stringify.svg)](https://www.npmjs.com/package/@bugsnag/safe-json-stringify)

这是叉子 [`safe-json-stringify`](https://github.com/debitoor/safe-json-stringify) 带有一些意见性改动,特别是 [虫纳克](https://bugsnag.com/) 使用大小写 :

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

## 安装

```sh
npm install @bugsnag/safe-json-stringify
```

## 使用量

API 和 `JSON.stringify`后加 `options` 对象 :

```js
stringify(obj, [optional replacer], [optional spaces], [options])
```

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

### 示例

```js
var stringify = require('@bugsnag/safe-json-stringify')
stringify({
  api_key: 'd145b8e5afb56516423bc4d605e45442',
  events: [
    {
      errorMessage: 'Failed load tickets',
      errorClass: 'CheckoutError',
      user: {
        name: 'Jim Bug',
        email: 'jim@bugsnag.com',
        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": "jim@bugsnag.com",
//         "api_key": "[REDACTED]"
//       }
//     }
//   ]
// }
```

## 许可证

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

《麻省理工学院许可证》

版权(c)2014-2018年 [开发者](https://debitoor.com/), (中文(简体) ), [错误](https://bugsnag.com/)

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

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

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

## 常见问题

### @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 和提交记录判断。

