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

本文介绍了一个使用Go语言将结构化数据写入JSON文件的示例。通过定义结构体并利用encoding/json包的功能,可以轻松地将内存中的数据序列化到磁盘上的JSON文件中。该示例展示了如何创建文件、设置编码器并对结构体实例进行编码。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

  • 使用示例
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
}
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值