| package utils | |
| import ( | |
| stdjson "encoding/json" | |
| "os" | |
| json "github.com/json-iterator/go" | |
| log "github.com/sirupsen/logrus" | |
| ) | |
| var Json = json.ConfigCompatibleWithStandardLibrary | |
| // WriteJsonToFile write struct to json file | |
| func WriteJsonToFile(dst string, data interface{}, std ...bool) bool { | |
| str, err := json.MarshalIndent(data, "", " ") | |
| if len(std) > 0 && std[0] { | |
| str, err = stdjson.MarshalIndent(data, "", " ") | |
| } | |
| if err != nil { | |
| log.Errorf("failed convert Conf to []byte:%s", err.Error()) | |
| return false | |
| } | |
| err = os.WriteFile(dst, str, 0777) | |
| if err != nil { | |
| log.Errorf("failed to write json file:%s", err.Error()) | |
| return false | |
| } | |
| return true | |
| } | |