github.com/Cloud-Foundations/Dominator@v0.3.4/lib/json/read.go (about)

     1  package json
     2  
     3  import (
     4  	"encoding/json"
     5  	"io"
     6  	"os"
     7  
     8  	"github.com/Cloud-Foundations/Dominator/lib/uncommenter"
     9  )
    10  
    11  func readFromFile(filename string, value interface{}) error {
    12  	file, err := os.Open(filename)
    13  	if err != nil {
    14  		return err
    15  	}
    16  	defer file.Close()
    17  	return Read(file, value)
    18  }
    19  
    20  func read(reader io.Reader, value interface{}) error {
    21  	decoder := json.NewDecoder(uncommenter.New(reader,
    22  		uncommenter.CommentTypeAll))
    23  	if err := decoder.Decode(value); err != nil {
    24  		return err
    25  	}
    26  	return nil
    27  }