以下是 Go 代码示例,展示如何读取 JSON 文件中的数据,修改数据,并将其写入文件。

package main

import (
	"encoding/json"
	"fmt"
	"io/ioutil"
)

func main() {
	data, err := ioutil.ReadFile("data.json")
	if err != nil {
		fmt.Println("读取文件错误:", err)
		return
	}

	var jsonData map[string]interface{}
	json.Unmarshal(data, &jsonData)

	// 修改数据
	jsonData["name"] = "John"
	jsonData["age"] = 30

	// 序列化数据为 JSON 格式
	updatedData, err := json.Marshal(jsonData)
	if err != nil {
		fmt.Println("序列化数据错误:", err)
		return
	}

	// 写入文件
	err = ioutil.WriteFile("data.json", updatedData, 0644)
	if err != nil {
		fmt.Println("写入文件错误:", err)
		return
	}

	fmt.Println("数据已成功写入文件!")
}

步骤:

  1. 读取 JSON 文件: 使用 ioutil.ReadFile() 函数读取 data.json 文件的内容。
  2. 解析 JSON 数据: 使用 json.Unmarshal() 函数将读取的 JSON 数据解析为 Go 的 map[string]interface{} 结构。
  3. 修改数据: 修改 jsonData 变量中所需的数据项。
  4. 序列化数据: 使用 json.Marshal() 函数将修改后的 jsonData 变量序列化为 JSON 格式的字节数组。
  5. 写入文件: 使用 ioutil.WriteFile() 函数将序列化后的 JSON 数据写入 data.json 文件。

注意:

  • 确保 data.json 文件存在于与 Go 代码相同的目录中。
  • 在写入文件之前,需要将修改后的数据序列化为 JSON 格式。
  • ioutil.WriteFile() 函数的第三个参数 0644 代表文件的权限模式。
Go 读取和写入 JSON 文件:完整指南

原文地址: https://www.cveoy.top/t/topic/lZcF 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录