Skip to content

Instantly share code, notes, and snippets.

@bjartek
Created February 25, 2024 18:54
Show Gist options
  • Save bjartek/f05f80f8bc62812941e6d7034e9ea8fc to your computer and use it in GitHub Desktop.
Save bjartek/f05f80f8bc62812941e6d7034e9ea8fc to your computer and use it in GitHub Desktop.
read file into struct
func ReadFileIntoStruct[T interface{}](fileName string) (*T, error) {
jsonFile, err := os.ReadFile(fileName)
if err != nil {
return nil, err
}
var objects T
err = json.Unmarshal(jsonFile, &objects)
if err != nil {
return nil, err
}
return &objects, nil
}
func ReadFileArrayIntoStructs[T interface{}](fileName string) ([]T, error) {
jsonFile, err := os.ReadFile(fileName)
if err != nil {
return nil, err
}
var objects []T
err = json.Unmarshal(jsonFile, &objects)
if err != nil {
return nil, err
}
return objects, nil
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment