Go 语言的标准库中提供了处理 JSON 数据的包,称为 'encoding/json'。

处理 JSON 文件的步骤如下:

  1. 导入 'encoding/json' 包
  2. 创建一个结构体来表示 JSON 数据的结构
  3. 使用 'json.Unmarshal()' 函数将 JSON 数据解码为 Go 语言中的结构体
  4. 使用 'json.Marshal()' 函数将 Go 语言中的结构体编码为 JSON 数据

以下是一个示例程序,演示了如何使用 'encoding/json' 包处理 JSON 文件:

package main

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

type Person struct {
    Name    string `json:"name"`
    Age     int    `json:"age"`
    Address string `json:"address"`
}

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

    // 解码 JSON 数据为结构体
    var person Person
    err = json.Unmarshal(jsonData, &person)
    if err != nil {
        fmt.Println(err)
        return
    }

    // 输出结构体的字段
    fmt.Println("Name:", person.Name)
    fmt.Println("Age:", person.Age)
    fmt.Println("Address:", person.Address)

    // 编码结构体为 JSON 数据
    newData, err := json.Marshal(person)
    if err != nil {
        fmt.Println(err)
        return
    }

    // 输出编码后的 JSON 数据
    fmt.Println("New JSON data:", string(newData))
}

在此示例中,我们首先使用 'ioutil.ReadFile()' 函数读取一个名为 'data.json' 的 JSON 文件。然后,我们使用 'json.Unmarshal()' 函数将 JSON 数据解码为一个名为 'Person' 的结构体。接下来,我们输出结构体的字段,并使用 'json.Marshal()' 函数将结构体编码为 JSON 数据。最后,我们输出编码后的 JSON 数据。

Go语言 JSON 文件处理指南:解析与编码

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

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