我得到了这样的日志,其中一些信息输出为json。
2016-03-21 21:36:20.878 INFO 17512 --- [main] This is going well.
ok: [goingwell] => {
"localresult": {
"aa":"bb",
"aaa":"bbb"
}
}
2016-03-21 21:36:31.172 INFO 17513 --- [main] Continue logging ...
2016-03-21 21:36:42.568 INFO 17514 --- [main] With more json strings...
ok: [xxa123] => {
"axaxaxa": {
"aada":"bb",
"aaadfa":"bbb"
}
}
2016-03-21 21:36:43.132 INFO 17515 --- [main] Continue logging ...
2016-03-21 21:36:45.428 INFO 17516 --- [main] With more json strings...
ok: [xxa123] => {
"ccc": {
"ddd": {
"eee": {
"fff": "ggg"
}
}
}
}
如何用Java获取每个json字符串?
这个json可能是嵌套的。
我知道使用PCRE可以通过递归匹配(\{(?:[^{}]|(?R))*\}
)完成此操作,但Java似乎没有好的库来支持PCRE。
使用java代码/库有没有很好的方法来实现这个目标?
(我有一个丑陋的解决方案,通过限制上述正则表达式的递归深度。)