package main
import (
"encoding/json"
"fmt"
"os"
)
type S struct {
A string `json:"a"`
B map[string]string `json:"b"`
}
func main() {
i := S{
"string1",
map[string]string{"k1": "v1"},
}
err := InterfaceWriteJsonFile(i, "/data/contents.json")
if err != nil {
fmt.Println("InterfaceWriteJsonFile err:", err)
return
}
fmt.Println("InterfaceWriteJsonFile success")
}
func InterfaceWriteJsonFile(data interface{}, jsonPath string) error {
jsonFile, err := os.Create(jsonPath)
if err != nil {
return err
}
defer jsonFile.Close()
encode := json.NewEncoder(jsonFile)
err = encode.Encode(data)
if err != nil {
return err
}
return nil
}