time.Time.UnmarshalJSON() Function in Golang with Examples Last Updated : 10 May, 2020 Comments Improve Suggest changes Like Article Like Report In Go language, time packages supply the functionality for determining as well as viewing time. The UnmarshalJSON() function in Go language is used to implement the json.Unmarshaler interface. The time here is a quoted-string which is in RFC 3339 format. Moreover, this function is defined under the time package. Here, you need to import the "time" package in order to use these functions. Syntax: func (t *Time) UnmarshalJSON(data []byte) error Here, "t" is the pointer to the stated time, and "data" is the byte slice that represents JSON's encoding that was generated by MarshalJSON() method. Return value: It decodes the encoding that was returned by MarshalJSON() method and returns an error occurred but if there is no error then "nil" is returned. Example 1: C // 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) } Output: Error: <nil> Example 2: C // 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) } Output: Error: <nil> Here, the "t" stated in the above code has values that are outside usual range but they are normalized while conversion. Comment N nidhi1352singh Follow 0 Improve N nidhi1352singh Follow 0 Improve Article Tags : Go Language GoLang-time Explore Go Tutorial 3 min read OverviewGo Programming Language (Introduction) 7 min read How to Install Go on Windows? 3 min read How to Install Golang on MacOS? 4 min read Hello World in Golang 3 min read FundamentalsIdentifiers in Go Language 3 min read Go Keywords 2 min read Data Types in Go 7 min read Go Variables 9 min read Constants- Go Language 6 min read Go Operators 9 min read Control StatementsGo Decision Making (if, if-else, Nested-if, if-else-if) 5 min read Loops in Go Language 5 min read Switch Statement in Go 2 min read Functions & MethodsFunctions in Go Language 3 min read Variadic Functions in Go 3 min read Anonymous function in Go Language 2 min read main and init function in Golang 2 min read What is Blank Identifier(underscore) in Golang? 3 min read Defer Keyword in Golang 3 min read Methods in Golang 3 min read StructureStructures in Golang 7 min read Nested Structure in Golang 3 min read Anonymous Structure and Field in Golang 3 min read ArraysArrays in Go 7 min read How to Copy an Array into Another Array in Golang? 3 min read How to pass an Array to a Function in Golang? 2 min read SlicesSlices in Golang 14 min read Slice Composite Literal in Go 3 min read How to sort a slice of ints in Golang? 2 min read How to trim a slice of bytes in Golang? 3 min read How to split a slice of bytes in Golang? 3 min read StringsStrings in Golang 7 min read How to Trim a String in Golang? 2 min read How to Split a String in Golang? 3 min read Different ways to compare Strings in Golang 2 min read PointersPointers in Golang 8 min read Passing Pointers to a Function in Go 3 min read Pointer to a Struct in Golang 3 min read Go Pointer to Pointer (Double Pointer) 4 min read Comparing Pointers in Golang 3 min read Like