Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
alist-org
GitHub Repository: alist-org/alist
Path: blob/main/pkg/utils/json.go
1560 views
1
package utils
2
3
import (
4
stdjson "encoding/json"
5
"os"
6
7
json "github.com/json-iterator/go"
8
log "github.com/sirupsen/logrus"
9
)
10
11
var Json = json.ConfigCompatibleWithStandardLibrary
12
13
// WriteJsonToFile write struct to json file
14
func WriteJsonToFile(dst string, data interface{}, std ...bool) bool {
15
str, err := json.MarshalIndent(data, "", " ")
16
if len(std) > 0 && std[0] {
17
str, err = stdjson.MarshalIndent(data, "", " ")
18
}
19
if err != nil {
20
log.Errorf("failed convert Conf to []byte:%s", err.Error())
21
return false
22
}
23
err = os.WriteFile(dst, str, 0777)
24
if err != nil {
25
log.Errorf("failed to write json file:%s", err.Error())
26
return false
27
}
28
return true
29
}
30
31