惜风不起、唯有努力!
go中的序列化和反序列化简单示例

go中的序列化和反序列化简单示例

package main

import (
    "encoding/json"
    "fmt"
)

// 定义结构体
type Person struct {
    Name string `json:"name"`
    Age  int    `json:"age"`
    Sex  string `json:"sex"`
}

func main() {
    // 定义一个对象
    p := Person{
        Name: "Alice",
        Age:  18,
        Sex:  "female",
    }

    // 将对象序列化成 JSON 格式,并输出到控制台
    b, err := json.Marshal(p)
    if err != nil {
        fmt.Println("json.Marshal error:", err)
        return
    }
    fmt.Println(string(b))

    // 将 JSON 字符串反序列化为一个对象并输出到控制台
    var p2 Person
    err = json.Unmarshal(b, &p2)
    if err != nil {
        fmt.Println("json.Unmarshal error:", err)
        return
    }
    fmt.Printf("%+v\n", p2)
}

发表回复

您的电子邮箱地址不会被公开。