We read every piece of feedback, and take your input very seriously.
To see all available qualifiers, see our documentation.
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
The EachKey API does not work coherently to the Get one w.r.t array of strings.
EachKey
Get
Meaning that it does not work on paths like "request>headers>User-Agent>[0]", while Get does.
Here's a minimal reproducer:
package main import ( "fmt" "github.com/buger/jsonparser" ) func main() { data := []byte(`{"request":{"headers":{"User-Agent":["abc"]}}}`) paths := [][]string{ []string{"request", "headers", "User-Agent", "[0]"}, } jsonparser.EachKey(data, func(idx int, val []byte, typ jsonparser.ValueType, err error) { fmt.Printf("NO: val: %s / typ: %s / err: %s\n", val, typ, err) }, paths...) v, t, _, e := jsonparser.Get(data, paths[0]...) fmt.Printf("OK: val: %s / typ: %s / err: %s\n", v, t, e) }
As you can see in the output EachKey fails while Get doesn't:
NO: val: / typ: unknown / err: Unknown value type OK: val: abc / typ: string / err: %!s(<nil>)
The text was updated successfully, but these errors were encountered:
fix: workaround to fix the indexing of array of strings not working
1d12eb9
The bug is in the jsonparser: buger/jsonparser#232 Signed-off-by: Leonardo Di Donato <[email protected]>
9cae0da
this issue may be a duplicate of #180
Sorry, something went wrong.
Unknown value type
No branches or pull requests
The
EachKey
API does not work coherently to theGet
one w.r.t array of strings.Meaning that it does not work on paths like "request>headers>User-Agent>[0]", while
Get
does.Here's a minimal reproducer:
As you can see in the output
EachKey
fails whileGet
doesn't:The text was updated successfully, but these errors were encountered: