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

golang json time

林國瑞2年前8瀏覽0評論

在golang中使用json格式進行數據傳輸時,經常需要對時間進行處理。golang中提供了time標準庫,可以方便地操作時間:包括時間格式化、時間比較、時間計算等操作。

將時間轉換為json格式時,我們需要對時間進行格式化,時間格式化使用golang標準庫中的time.Format()函數。

//定義時間格式
const timeLayout = "2006-01-02 15:04:05"
//定義時間結構體
type Person struct {
Name string
Age  int
Time time.Time
}
//創建數據
p := Person{
Name: "Jack",
Age:  25,
Time: time.Now(),
}
//將時間進行格式化
t := p.Time.Format(timeLayout)
//將結構體轉換為json
jsonBytes, err := json.Marshal(p)
if err != nil {
fmt.Println("json.Marshal error:", err)
}
//輸出json
fmt.Println(string(jsonBytes))

當我們需要將json數據反序列化為結構體時,需要將json中的時間字段轉換為time類型。

//json格式數據
jsonStr := `{"Name":"Jack","Age":25,"Time":"2021-10-08 14:07:00"}`
//定義結構體
type Person struct {
Name string
Age  int
Time time.Time
}
//將json數據轉換為結構體
var p Person
err := json.Unmarshal([]byte(jsonStr), &p)
if err != nil {
fmt.Println("json.Unmarshal error:", err)
}
//輸出結構體
fmt.Println(p)

需要注意的是,當時間字符串不符合golang時間格式時,反序列化為時間會失敗,需要捕獲異常處理。另外,在處理時間類型時,我們還可以使用time標準庫中提供的其他函數進行比較、計算等操作。