alist/pkg/utils/json.go

30 lines
670 B
Go
Raw Normal View History

2022-06-06 13:48:53 +00:00
package utils
import (
2022-12-05 06:39:18 +00:00
stdjson "encoding/json"
2022-09-05 08:40:51 +00:00
"os"
2022-08-07 16:51:05 +00:00
2022-06-06 13:48:53 +00:00
json "github.com/json-iterator/go"
log "github.com/sirupsen/logrus"
)
var Json = json.ConfigCompatibleWithStandardLibrary
2022-08-07 16:51:05 +00:00
// WriteJsonToFile write struct to json file
2022-12-05 06:39:18 +00:00
func WriteJsonToFile(dst string, data interface{}, std ...bool) bool {
2022-08-26 11:06:32 +00:00
str, err := json.MarshalIndent(data, "", " ")
2022-12-05 06:39:18 +00:00
if len(std) > 0 && std[0] {
str, err = stdjson.MarshalIndent(data, "", " ")
}
2022-06-06 13:48:53 +00:00
if err != nil {
log.Errorf("failed convert Conf to []byte:%s", err.Error())
return false
}
2022-09-05 08:40:51 +00:00
err = os.WriteFile(dst, str, 0777)
2022-06-06 13:48:53 +00:00
if err != nil {
log.Errorf("failed to write json file:%s", err.Error())
return false
}
return true
}