in azkustodata/query/v2/fast_json.go [259:286]
func decodeNestedValue(decoder *json.Decoder, buffer []byte) (json.Token, error) {
nest := 1
initialOffset := decoder.InputOffset() - 1
for {
for decoder.More() {
t, err := decoder.Token()
if err != nil {
return nil, err
}
if t == json.Delim('[') || t == json.Delim('{') {
nest++
}
}
t, err := decoder.Token()
if err != nil {
return nil, err
}
if t == json.Delim(']') || t == json.Delim('}') {
nest--
}
if nest == 0 {
break
}
}
finalOffset := decoder.InputOffset()
return json.Token(buffer[initialOffset:finalOffset]), nil
}