| 123456789101112131415161718192021222324 |
- package service
- import (
- "bytes"
- "encoding/json"
- "errors"
- "io"
- )
- func decodeOpenAIJSONUseNumber(data []byte, dst any) error {
- decoder := json.NewDecoder(bytes.NewReader(data))
- decoder.UseNumber()
- if err := decoder.Decode(dst); err != nil {
- return err
- }
- var trailing any
- if err := decoder.Decode(&trailing); !errors.Is(err, io.EOF) {
- if err == nil {
- return errors.New("multiple JSON values are not allowed")
- }
- return err
- }
- return nil
- }
|