From 7afc8fafb91a27478da6389cc7cccf0ea9485127 Mon Sep 17 00:00:00 2001 From: Wangjunqi123 Date: Wed, 5 Jun 2024 09:12:15 +0800 Subject: [PATCH] kibanaclient: parse data in v7 from json to []map[string]interface{} --- elk/kibanaClient/7_17_16/jsonProcess.go | 33 +++++++++++++++++++++++++ 1 file changed, 33 insertions(+) create mode 100644 elk/kibanaClient/7_17_16/jsonProcess.go diff --git a/elk/kibanaClient/7_17_16/jsonProcess.go b/elk/kibanaClient/7_17_16/jsonProcess.go new file mode 100644 index 00000000..8bc87885 --- /dev/null +++ b/elk/kibanaClient/7_17_16/jsonProcess.go @@ -0,0 +1,33 @@ +package kibanaClient + +import ( + "github.com/tidwall/gjson" +) + +/* +@varssrc: vars字段值的json数据 + +将varssrc转换为[]map[string]interface{}数据 +*/ +func VarsProcess(varssrc gjson.Result) []map[string]interface{} { + varsdst := []map[string]interface{}{} + varssrc.ForEach(func(key gjson.Result, value gjson.Result) bool { + _var := map[string]interface{}{} + for k, v := range value.Map() { + if v.IsArray() { + _arr := []string{} + for _, s := range v.Array() { + _arr = append(_arr, s.String()) + } + _var[k] = _arr + } else if v.IsBool() { + _var[k] = v.Bool() + } else { + _var[k] = v.String() + } + } + varsdst = append(varsdst, _var) + return true + }) + return varsdst +} -- Gitee