Files

21 lines
409 B
Go

package nativecapture
import (
"bytes"
"encoding/json"
"errors"
"io"
)
func decodeStrictJSON(payload []byte, value any) error {
decoder := json.NewDecoder(bytes.NewReader(payload))
decoder.DisallowUnknownFields()
if err := decoder.Decode(value); err != nil {
return err
}
if err := decoder.Decode(&struct{}{}); !errors.Is(err, io.EOF) {
return errors.New("trailing JSON data")
}
return nil
}