37 lines
802 B
Go
37 lines
802 B
Go
package api
|
|
|
|
import (
|
|
"encoding/json"
|
|
"log/slog"
|
|
"os"
|
|
)
|
|
|
|
func WriteJson(data *ExportData, fileName string) error {
|
|
jsonData, err := json.MarshalIndent(data, "", " ")
|
|
if err != nil {
|
|
slog.Info("JSON MarshalIndent failed", "Error:", err)
|
|
return err
|
|
}
|
|
// Write bytes to file
|
|
err = os.WriteFile(fileName, jsonData, 0644)
|
|
if err != nil {
|
|
slog.Info("Error writing file:", "Error", err.Error())
|
|
return err
|
|
}
|
|
return nil
|
|
}
|
|
|
|
func ReadJson(data *ExportData, fileName string) error {
|
|
content, err := os.ReadFile(fileName)
|
|
if err != nil {
|
|
slog.Info("Error reading file", "Error", err.Error())
|
|
return err
|
|
}
|
|
|
|
if err := json.Unmarshal(content, data); err != nil {
|
|
slog.Info("Error unmarshal json", "Error", err.Error())
|
|
return err
|
|
}
|
|
return nil
|
|
}
|