使用 maskdata npm 模块:https://www.npmjs.com/package/maskdata
它提供的功能,
- 屏蔽电话号码
- 屏蔽密码
- 屏蔽电子邮件
- 屏蔽 JSON 字段
- 屏蔽卡号
- 屏蔽字符串中的值
在您的情况下,您想要屏蔽 JSON 字段。使用,
const maskJSONOptions = {
// Character to mask the data. Default value is '*'
maskWith : "*",
// Field names to mask. Can give multiple fields.
fields : ['password', 'firstName'] // It should be an array
};
const obj = {
password : "IKnowNothing",
firstName : "Jon",
lastName : "Snoww"
};
const maskedObj = MaskData.maskJSONFields(obj, maskJSONOptions);
//Output : { password: '************', firstName: '***', lastName: 'Snoww' }
我也遇到了屏蔽数据的问题。所以我发布了这个 npm 模块。
您还可以使用 maskdata 模块屏蔽嵌套对象。
例如:
const MaskData = require('./maskdata');
const maskJSONOptions = {
// Character to mask the data. Default value is '*'
maskWith : "*",
// It should be an array
// Field names to mask. Can give multiple fields.
fields : ['level1.level2.level3.field3', 'level1.level2.field2', 'level1.field1', 'value1']
};
const nestedObject = {
level1: {
field1: "field1",
level2: {
field2: "field2",
level3: {
field3: "field3",
}
}
},
value1: "value"
};
const maskedObj = MaskData.maskJSONFields(nestedObject, defaultJSONMaskOptions2);
//Output : {"level1":{"field1":"******","level2":{"field2":"******","level3":{"field3":"******"}}},"value1":"*****"}