当前位置: 首页 > 知识库问答 >
问题:

如何在不知道JSON字符串中确切键的情况下在Java中屏蔽特定值

陈淳
2023-03-14

我收到了一个字符串形式的JSON,需要屏蔽一条信息,但是JSON结构和键名总是不同的,但是值的模式是可以识别的。问题是,什么是遍历String/JsonObject以屏蔽该数据段的有效方法。

我尝试将字符串转换为JSONObject,遍历每个嵌入的JSONObject/数组,检测模式,并用它的屏蔽版本替换原始值。但是在将此信息登录到控制台时,这似乎非常耗时。

值的参考模式是一个9位(长)数字。结构总是从“{”key1“:[{”innerkey1“:123456789}]}”到“{”key1“:”value1“,”key2“:{”innerkey1“:123456789}”

示例结果:“{”key1“:[{”innerkey1“:”xxxxx789“}]}”

共有1个答案

戚英逸
2023-03-14

如果JSON结构始终以优化的单行字符串的形式提供,那么只需在字符串中找到值并替换它,或者更详细地使用正则表达式找到innerkey1:12345匹配并替换它。

如果这只是用于日志记录,您甚至可以将其实现为过滤器,这取决于您的日志记录框架,它甚至可以配置,而不必编写代码。

 类似资料: