node.js - 如何使用 json-masker 对包含 "-"的字段屏蔽 json?

标签 node.js json logging

我的要求是在记录 JSON 的某些字段时屏蔽它们。我正在使用 node.js。我使用了node.js的json-masker库。在“白名单”参数中传递名称中带有“-”的属性的 JSON 路径时,出现词汇错误。

JSON

   {  
   "attribute1":"value1",
   "attribute2":"value2",
   "attribute-name":"value3"
   }

代码

const masker = require('json-masker');
const mask= masker({
whitelist: ['$.attribute1','$.attribute-name']
});

错误

    Error Lexical error on line 1. Unrecognized text.
    $.attribute-name

还有,有没有办法只指定需要屏蔽的属性,而不是指定不需要屏蔽的属性(如白名单中指定的)。 请建议是否有更好的方法使用任何其他函数/库来执行此操作。

请注意,我收到此 JSON,因此无法更改 key 名称

最佳答案

正确的语法是'$["attribute-name"]'而不是'$.attribute-name'

$ 字段由 jsonpath 处理,json-masker 的依赖项。这个问题在他们的 github 问题之一 ( #90 ) 中进行了讨论,并提供了解决方案。

关于node.js - 如何使用 json-masker 对包含 "-"的字段屏蔽 json?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52866719/

相关文章:

javascript - 安装 npm 包时自动安装类型定义

node.js - Apache 托管 php 网站和 Node js CORS 代理

node.js - Express 4,将 req.path 与 URL 参数匹配

javascript - 如何使用 javascript 将 Yii2 对象加载到输入中

java - 从bash脚本中获取JVM执行状态

json - Node.js + body-parser 对象格式在到达后端时发生变化

json - 如何从 json postgres 中检索数据

python - 如何在日志处理程序中指定 str.format() 样式?

c++ - 函数怎么写才整齐?考虑日志,一次返回,不再缩进?

javascript - 如何使用 ID 从点击事件的 JSON 文件中获取值并在表单中显示值