Go 读取和写入 JSON 文件:完整指南
以下是 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("数据已成功写入文件!")
}
步骤:
- 读取 JSON 文件: 使用
ioutil.ReadFile()函数读取data.json文件的内容。 - 解析 JSON 数据: 使用
json.Unmarshal()函数将读取的 JSON 数据解析为 Go 的map[string]interface{}结构。 - 修改数据: 修改
jsonData变量中所需的数据项。 - 序列化数据: 使用
json.Marshal()函数将修改后的jsonData变量序列化为 JSON 格式的字节数组。 - 写入文件: 使用
ioutil.WriteFile()函数将序列化后的 JSON 数据写入data.json文件。
注意:
- 确保
data.json文件存在于与 Go 代码相同的目录中。 - 在写入文件之前,需要将修改后的数据序列化为 JSON 格式。
ioutil.WriteFile()函数的第三个参数0644代表文件的权限模式。
原文地址: https://www.cveoy.top/t/topic/lZcF 著作权归作者所有。请勿转载和采集!