在Go語言中,時間包提供了確定和查看時間的函數。 Go語言中的UnmarshalJSON()函數用於實現json.Unmarshaler接口。這裏的時間是帶引號的字符串,格式為RFC 3339。此外,此函數在時間包下定義。在這裏,您需要導入“time”包才能使用這些函數。
用法:
func (t *Time) UnmarshalJSON(data []byte) error
在這裏,“t”是指向指定時間的指針,而“data”是表示由MarshalJSON()方法生成的JSON編碼的字節片。
返回值:它解碼由MarshalJSON()方法返回的編碼,並返回發生的錯誤,但是如果沒有錯誤,則返回“nil”。
範例1:
// Golang program to illustrate the usage of
// Time.UnmarshalJSON() function
// Including main package
package main
// Importing fmt and time
import "fmt"
import "time"
// Calling main
func main() {
// Defining t for MarshalJSON method
t:= time.Date(2013, 7, 6, 12, 34, 33, 01, time.UTC)
// Calling MarshalJSON() method
encoding, _:= t.MarshalJSON()
// Defining tm for UnmarshalJSON() method
var tm time.Time
// Calling UnmarshalJSON method with its parameters
decode:= tm.UnmarshalJSON(encoding)
// Prints output
fmt.Printf("Error:%v\n", decode)
}
輸出:
Error:<nil>
範例2:
// Golang program to illustrate the usage of
// Time.UnmarshalJSON() function
// Including main package
package main
// Importing fmt and time
import "fmt"
import "time"
// Calling main
func main() {
// Defining t for MarshalJSON method
t:= time.Date(2034, 45, 33, 43, 90, 70, 6447, time.UTC)
// Calling MarshalJSON() method
encoding, _:= t.MarshalJSON()
// Defining tm for UnmarshalJSON() method
var tm time.Time
// Calling UnmarshalJSON method with its parameters
decode:= tm.UnmarshalJSON(encoding)
// Prints output
fmt.Printf("Error:%v\n", decode)
}
輸出:
Error:<nil>
此處,以上代碼中說明的“t”的值在通常範圍之外,但在轉換時已標準化。
相關用法
- Golang math.Lgamma()用法及代碼示例
- Golang math.Float64bits()用法及代碼示例
- Golang atomic.AddInt64()用法及代碼示例
- Golang atomic.StoreInt64()用法及代碼示例
- Golang reflect.FieldByIndex()用法及代碼示例
- Golang string.Contains用法及代碼示例
- Golang bits.Sub()用法及代碼示例
- Golang io.PipeWriter.CloseWithError()用法及代碼示例
- Golang time.Round()用法及代碼示例
- Golang reflect.AppendSlice()用法及代碼示例
- Golang reflect.ChanOf()用法及代碼示例
- Golang flag.Bool()用法及代碼示例
- Golang time.Sleep()用法及代碼示例
- Golang time.Time.Year()用法及代碼示例
- Golang reflect.DeepEqual()用法及代碼示例
- Golang reflect.Indirect()用法及代碼示例
- Golang reflect.CanAddr()用法及代碼示例
- Golang reflect.CanInterface()用法及代碼示例
- Golang reflect.CanSet()用法及代碼示例
- Golang reflect.Cap()用法及代碼示例
注:本文由純淨天空篩選整理自nidhi1352singh大神的英文原創作品 time.Time.UnmarshalJSON() Function in Golang with Examples。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。