我收到了一个字符串形式的JSON,需要屏蔽一条信息,但是JSON结构和键名总是不同的,但是值的模式是可以识别的。问题是,什么是遍历String/JsonObject以屏蔽该数据段的有效方法。
我尝试将字符串转换为JSONObject,遍历每个嵌入的JSONObject/数组,检测模式,并用它的屏蔽版本替换原始值。但是在将此信息登录到控制台时,这似乎非常耗时。
值的参考模式是一个9位(长)数字。结构总是从“{”key1“:[{”innerkey1“:123456789}]}”到“{”key1“:”value1“,”key2“:{”innerkey1“:123456789}”
示例结果:“{”key1“:[{”innerkey1“:”xxxxx789“}]}”
如果JSON结构始终以优化的单行字符串的形式提供,那么只需在字符串中找到值并替换它,或者更详细地使用正则表达式找到innerkey1:12345匹配并替换它。
如果这只是用于日志记录,您甚至可以将其实现为过滤器,这取决于您的日志记录框架,它甚至可以配置,而不必编写代码。
问题内容: 我需要在检查的同时将以下更改为- ,以改善圈复杂度。 但是我不确定我将获得什么价值。 问题答案: Java(版本7之前的版本)在switch / case中不支持String。但是您可以通过使用枚举来达到预期的结果。
我想使用正则表达式屏蔽字符串的子字符串。 字符串输入=
问题内容: 我试图解析Java中的JSON字符串并找到键值对,以便我可以确定JSON对象的近似结构,因为JSON字符串的对象结构是未知的。 例如,一个执行可能具有这样的JSON字符串: 另一个像这样: 如何遍历各种JSON元素并确定键及其值?我看着的。我知道如何获取下一个“令牌”并确定令牌的类型(即字段名称,值,数组开头等),但是,我不知道如何获取实际令牌的值。 例如: 或其他库(或)中是否有一个
a 应该在内部使用类似于: 如何一个
我想使用正则表达式屏蔽字符串的子字符串。 字符串输入=
为什么它抛出一个错误?任何帮助都将不胜感激 编辑: