generated from PenaSide/GolangTemplate
27 lines
414 B
Go
27 lines
414 B
Go
package json
|
|
|
|
import (
|
|
"encoding/json"
|
|
"io"
|
|
)
|
|
|
|
func Parse[T any](reader io.Reader) (*T, error) {
|
|
jsonData := new(T)
|
|
|
|
if err := json.NewDecoder(reader).Decode(jsonData); err != nil {
|
|
return nil, err
|
|
}
|
|
|
|
return jsonData, nil
|
|
}
|
|
|
|
func Unmarshal[T any](data []byte) (*T, error) {
|
|
unmarshaled := new(T)
|
|
|
|
if err := json.Unmarshal(data, unmarshaled); err != nil {
|
|
return nil, err
|
|
}
|
|
|
|
return unmarshaled, nil
|
|
}
|