温馨提示×

Golang中JSON的编码与解码怎么实现

小亿
85
2024-01-25 17:24:53
栏目: 编程语言

在Golang中,可以使用encoding/json包来实现JSON的编码和解码。以下是一个简单的示例:

package main

import (
    "encoding/json"
    "fmt"
)

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

func main() {
    // 编码为JSON
    person := Person{
        Name: "Alice",
        Age:  25,
    }
    jsonData, err := json.Marshal(person)
    if err != nil {
        fmt.Println("JSON encoding error:", err)
        return
    }
    fmt.Println(string(jsonData))

    // 解码JSON
    var decodedPerson Person
    err = json.Unmarshal(jsonData, &decodedPerson)
    if err != nil {
        fmt.Println("JSON decoding error:", err)
        return
    }
    fmt.Println(decodedPerson)
}

在上面的示例中,我们定义了一个Person结构体,并使用json标签指定了在JSON中对应的字段名。然后,我们使用json.Marshal函数将Person结构体编码为JSON字符串,并使用json.Unmarshal函数将JSON字符串解码为Person结构体。

上述示例的输出结果为:

{"name":"Alice","age":25}
{Name:Alice Age:25}

这样,我们就成功地完成了JSON的编码和解码。

0