色婷婷狠狠18禁久久YY,CHINESE性内射高清国产,国产女人18毛片水真多1,国产AV在线观看

go json time

錢衛國2年前8瀏覽0評論

Go語言中的JSON庫可以很方便地將數據結構轉換為JSON格式的文本。而時間類型在JSON中有特殊的表示方式。

package main
import (
"encoding/json"
"fmt"
"time"
)
type Person struct {
Name    string    `json:"name"`
Age     int       `json:"age"`
Birthday time.Time `json:"birthday"`
}
func main() {
now := time.Now()
p := Person{Name: "Jack", Age: 18, Birthday: now}
data, err := json.MarshalIndent(p, "", "  ")
if err != nil {
fmt.Println("error:", err)
}
fmt.Println(string(data))
}

在將上述Person類型的實例序列化成JSON時,Birthday字段將會被轉換為RFC 3339格式的字符串:

{
"name": "Jack",
"age": 18,
"birthday": "2022-09-20T11:45:00+08:00"
}

如果想要從JSON中將時間字符串反序列化為時間類型,則需要使用time.Parse函數,如下所示:

func main() {
input := []byte(`{"name":"Jack","age":18,"birthday":"2022-09-20T11:45:00+08:00"}`)
var p Person
err := json.Unmarshal(input, &p)
if err != nil {
fmt.Println("error:", err)
}
fmt.Println(p.Birthday)
}

運行上述代碼,輸出結果為:

2022-09-20 11:45:00 +0800 CST

可以看到,Birthday字段已經被成功地解析為時間類型。