如何在Fluent-Bit中解析嵌套的JSON数组格式字符串?
解决嵌套JSON数组格式字段的解析问题
可用的Parser配置(兼容数组解析)
你当前的Parser配置其实已经支持解析转义后的JSON数组,确认使用Fluent Bit v1.7及以上版本即可,无需修改Parser:
[PARSER] Name objectParser Format json Decode_field_as escaped response
该配置会将response字段中的转义JSON字符串(无论对象还是数组)解析为对应的数据类型,解析后response会是一个数组字段。
拆分数组为独立日志条目(按需配置)
如果需要把数组内的每个对象拆分成单独的日志记录,添加以下过滤器配置:
[FILTER] Name nest Match * Operation lift Nested_under response [FILTER] Name split Match * Key response
nest过滤器:将response数组的内容提升到日志根层级split过滤器:根据数组字段拆分单条日志,每个数组元素生成一条独立日志
效果验证
原始日志:
{"response":"[{\"name\": \"john\", \"salary\": \"5\", \"time\": \"2006-07-28T13:22:04Z\"},{\"name\": \"david\", \"salary\": \"7\", \"time\": \"2006-07-28T13:22:04Z\"}]"}
处理后输出两条独立日志:
{"name": "john", "salary": "5", "time": "2006-07-28T13:22:04Z"} {"name": "david", "salary": "7", "time": "2006-07-28T13:22:04Z"}
内容的提问来源于stack exchange,提问作者milan
相关产品推荐
相关产品推荐

