mirror of
https://github.com/router-for-me/CLIProxyAPI.git
synced 2026-02-18 12:20:52 +08:00
24 lines
547 B
Go
24 lines
547 B
Go
package util
|
|
|
|
import "github.com/tidwall/gjson"
|
|
|
|
func Walk(value gjson.Result, path, field string, paths *[]string) {
|
|
switch value.Type {
|
|
case gjson.JSON:
|
|
value.ForEach(func(key, val gjson.Result) bool {
|
|
var childPath string
|
|
if path == "" {
|
|
childPath = key.String()
|
|
} else {
|
|
childPath = path + "." + key.String()
|
|
}
|
|
if key.String() == field {
|
|
*paths = append(*paths, childPath)
|
|
}
|
|
Walk(val, childPath, field, paths)
|
|
return true
|
|
})
|
|
case gjson.String, gjson.Number, gjson.True, gjson.False, gjson.Null:
|
|
}
|
|
}
|