go json
go
package main
import (
"encoding/json"
)api
func Marshal(v interface{}) ([]byte, error): 将数据编码成jsonfunc Unmarshal(data []byte, v interface{}) error: 将json解码成数据
示例
go
// example
// 定义一个结构体
type Person struct {
Name string `json:"name"`
Age int `json:"age"`
}
func main() {
// 创建一个 Person 类型的实例
p := Person{Name: "John", Age: 30}
// 使用 json.Marshal() 将结构体编码为 JSON
jsonData, err := json.Marshal(p)
if err != nil {
fmt.Println("Error encoding JSON:", err)
return
}
// 输出 JSON 数据
fmt.Println(string(jsonData))
}
func main() {
// 定义 JSON 数据
jsonData := `{"name":"Alice","age":25}`
// 创建一个 Person 类型的变量
var p Person
// 使用 json.Unmarshal() 将 JSON 解码为结构体
err := json.Unmarshal([]byte(jsonData), &p)
if err != nil {
fmt.Println("Error decoding JSON:", err)
return
}
// 输出解码后的结构体
fmt.Println("Name:", p.Name)
fmt.Println("Age:", p.Age)
}