diff -r 57afac822019 -r 5a894a10304c printer/jsonprinter.go --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/printer/jsonprinter.go Sun May 07 14:12:56 2017 +0200 @@ -0,0 +1,34 @@ +// Copyright © 2017 Mikael Berthe +// +// Licensed under the MIT license. +// Please see the LICENSE file is this directory. + +package printer + +import ( + "encoding/json" + "io" + "os" +) + +// JSONPrinter represents a JSON printer +type JSONPrinter struct { +} + +// NewPrinterJSON returns a JSON ResourcePrinter +func NewPrinterJSON(options Options) (*JSONPrinter, error) { + return &JSONPrinter{}, nil +} + +// PrintObj sends the object as text to the writer +// If the writer w is nil, standard output will be used. +// For JSONPrinter, the option parameter is currently not used. +func (p *JSONPrinter) PrintObj(obj interface{}, w io.Writer, option string) error { + if w == nil { + w = os.Stdout + } + + jsonEncoder := json.NewEncoder(w) + //jsonEncoder.SetIndent("", " ") + return jsonEncoder.Encode(obj) +}