alist/pkg/utils/json.go

30 lines
670 B
Go
Raw Normal View History

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