code: func (j *JSONPathPrinter) PrintObj(obj runtime.Object, w io.Writer) error {
  	var queryObj interface{} = obj
  	if meta.IsListType(obj) {
  		data, err := json.Marshal(obj)
  		if err != nil {
  			return err
  		}
  		queryObj = map[string]interface{}{}
  		if err := json.Unmarshal(data, &queryObj); err != nil {
  			return err
  		}
  	}
  
  	if err := j.JSONPath.Execute(w, queryObj); err != nil {
  		fmt.Fprintf(w, "Error executing template: %v. Printing more information for debugging the template:\n", err)
  		fmt.Fprintf(w, "\ttemplate was:\n\t\t%v\n", j.rawTemplate)
  		fmt.Fprintf(w, "\tobject given to jsonpath engine was:\n\t\t%#v\n\n", queryObj)
  		return fmt.Errorf("error executing jsonpath %q: %v\n", j.rawTemplate, err)
  	}
  	return nil
  }
docs: // PrintObj formats the obj with the JSONPath Template.