Golang encoding/json.Decoder.Decode() function example

package encoding/json

Decode reads the next JSON-encoded value from its input and stores it in the value pointed to by v (1st parameter ).

Golang encoding/json.Decoder.Decode() function usage example

 package main

  import (
 "encoding/json"
 "fmt"
 "strings"
 "io"
  )

  func main() {
 var jsonDataStream = `
 {"Name":"Adam","Age":36,"Job":"CEO"}
 {"Name":"Eve","Age":34,"Job":"CFO"}
 {"Name":"Mike","Age":38,"Job":"COO"}
 `

 type Employee struct {
 Name string
 Age  int
 Job  string
 }

 decoder := json.NewDecoder(strings.NewReader(jsonDataStream))

 for {
 var worker Employee
 if err := decoder.Decode(&worker); err == io.EOF { // <-- here
 break
 } else if err != nil {
 fmt.Println(err)
 }

 fmt.Printf("%s | %d | %s\n", worker.Name, worker.Age, worker.Job)
 }

  }

Output :

Adam | 36 | CEO

Eve | 34 | CFO

Mike | 38 | COO

Reference :

http://golang.org/pkg/encoding/json/#Decoder.Decode

Advertisement