golang 将接口内容转换为json字符串写入文件

  • 使用示例
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) // 创建 json 文件
	if err != nil {
		return err
	}
	defer jsonFile.Close()

	encode := json.NewEncoder(jsonFile) // 创建编码器
	err = encode.Encode(data)           // 编码
	if err != nil {
		return err
	}

	return nil
}

版权声明:本文为MoFengLian原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。