Skip to content

Instantly share code, notes, and snippets.

@zetsub0u
Last active February 28, 2017 20:20
Show Gist options
  • Save zetsub0u/f34176ce063be35706b519717ad405ad to your computer and use it in GitHub Desktop.
Save zetsub0u/f34176ce063be35706b519717ad405ad to your computer and use it in GitHub Desktop.
func DecodeJson(r io.ReadCloser, itemChan chan<- []interface{}) error {
defer close(itemChan)
dec := json.NewDecoder(r)
// read open bracket
_, err := dec.Token()
if err != nil {
panic(err)
}
// while the array contains values
for dec.More() {
var row []interface{}
// decode an array value (Message)
err := dec.Decode(&row)
if err != nil {
panic(err)
}
itemChan <- row
//fmt.Printf("%v: %v\n", row[0], row[1])
}
// read closing bracket
_, err = dec.Token()
if err != nil {
panic(err)
}
return err
}
func main() {
r := somereader
itemChan := make(chan []interface{})
go DecodeJson(reader, itemChan)
for item:= range itemChan {
//do something
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment