This is a Go package to extract element from a Go value by a query string like $.key[0].key['key']
.
See usage and example in GoDoc.
ParseString
parses a query string and returns the query which extracts the value.
q, err := query.ParseString(`$.key[0].key['key']`)
v, err := q.Extract(target)
The query syntax understood by this package when parsing is as follows.
$ the root element
.key extracts by a key of map or field name of struct ("." can be omitted if the head of query)
['key'] same as the ".key" (if the key contains "\" or "'", these characters must be escaped like "\\", "\'")
[0] extracts by a index of array or slice