github.com/viant/toolbox@v0.34.5/dumper.go (about)

     1  package toolbox
     2  
     3  import "fmt"
     4  
     5  //Dump prints passed in data as JSON
     6  func Dump(data interface{}) {
     7  	if text, err := AsJSONText(data); err == nil {
     8  		fmt.Printf("%v\n", text)
     9  		return
    10  	}
    11  }
    12  
    13  //DumpIndent prints passed in data as indented JSON
    14  func DumpIndent(data interface{}, removeEmptyKeys bool) error {
    15  	if IsMap(data) || IsStruct(data) {
    16  		var aMap = map[string]interface{}{}
    17  		if err := DefaultConverter.AssignConverted(&aMap, data); err != nil {
    18  			return err
    19  		}
    20  		data = aMap
    21  		if removeEmptyKeys {
    22  			data = DeleteEmptyKeys(aMap)
    23  		}
    24  	}
    25  
    26  	text, err := AsIndentJSONText(data)
    27  	if err != nil {
    28  		return err
    29  	}
    30  	fmt.Printf("%v\n", text)
    31  	return nil
    32  }