hack/jsonformat.go
68912b50
 package main
 
 import (
 	"encoding/json"
 	"log"
 )
 
 import "io/ioutil"
 import "os"
 
 func main() {
 	if len(os.Args) != 2 {
 		log.Fatal("Usage: jsonformat.go <filename>")
 	}
 
 	byt, err := ioutil.ReadFile(os.Args[1])
 	if err != nil {
 		log.Fatalf("ERROR: Unable to read file: %v\n", os.Args[1])
 	}
 
 	var dat map[string]interface{}
 
 	if err := json.Unmarshal(byt, &dat); err != nil {
 		log.Fatalf("ERROR: Invalid JSON file  '%v': %v\n", os.Args[1], err)
 	}
 
 	if output, err := json.MarshalIndent(dat, "", "  "); err != nil {
 		log.Fatalf("ERROR: Unable to indent JSON file: %v\n", os.Args[1])
 	} else {
 		os.Stdout.Write(append(output, '\n'))
 	}
 }