@ bugsnag/ safe-json- 字符串
这是叉子 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", 没有任何种类的恐惧, 释放或被卷入, 包括但不限制在 危机的保障, 证明一个特定的目的和无关。 任何索赔、索赔或其他负债,无论是合同、交易或其他行为,产生于、产生于或涉及软件或软件的使用或其他交易的行为,都不得作为担保.