gpt4 book ai didi

java - 如何最好地识别其中包含 JSON 的字符串?

转载 作者:行者123 更新时间:2023-12-01 10:17:45 24 4
gpt4 key购买 nike

我想知道如何识别其中包含 JSON 的字符串。我正在编写一些监视功能,如果字符串包含 JSON,我希望能够执行某些操作。

事情是这样的,我正在解析的字符串不会是 100% JSON,它里面会有 JSON 内容。这是一个例子:

"bla bla bla {"key": "value"} bla bla bla"

有了这个,我无法使用传统技术,例如尝试将其解析为 JSON 以查看它是否有效

我正在摆弄正则表达式,但我似乎找不到一个看起来不困惑的好解决方案。

我可以接受合理的误差范围,但是有什么好的方法可以做到这一点吗?

仅供引用:我在 Java 环境中

编辑1

好的,让你们更多地了解我想做的事情。基本上我需要监视我们正在打印的日志语句。根据之前的事件,我们在记录 JSON 有效负载时遇到了一些不应记录的问题(尤其是调试级别以上)。

我还有其他监控规则,但这是我想添加的一个。因此它不需要 100% 故障安全。

我删除了转义引号,它们确实没有意义。

最佳答案

精确匹配有效的 json 很棘手,因为它可能非常大。这与使用正则表达式解析 json 是一样的。相反,您可以使用正则表达式检查潜在 JSON。我假设你想删除它或用它做一些事情,所以可以过度收集并收集超过必要的东西。

您可以使用以下正则表达式字符串"(?:\\{\\\".+\\\"\\:.*\\}|\\[.*\\])" 贪婪地匹配任何类似 json 的内容。

找到匹配项后,您可以执行正式的 json 解析,以在删除它之前验证它是否确实是 json。

关于java - 如何最好地识别其中包含 JSON 的字符串?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35799229/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com