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

package encoding/json

Buffered returns a reader of the data remaining in the Decoder's buffer. The reader is valid until the next call to Decode.

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

 package main

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

 func main() {
 reader := strings.NewReader(`{"Name" : "Adam"} extra string to be buffered`)

 var m struct {
 Name string
 }

 decoder := json.NewDecoder(reader)
 err := decoder.Decode(&m)

 if err != nil {
 fmt.Println(err)
 }

 extraString, err := ioutil.ReadAll(decoder.Buffered()) // read the remainder

 if err != nil {
 fmt.Println(err)
 }

 fmt.Println(string(extraString))
 }

Output :

extra string to be buffered

Reference :

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

Advertisement