add pretty print to json outputs

This commit is contained in:
Chris Lu 2012-09-28 09:12:36 -07:00
parent 98022f2b3d
commit 819de58197

View file

@ -5,11 +5,11 @@ import (
"flag" "flag"
"fmt" "fmt"
"io" "io"
"math/rand"
"net/http" "net/http"
"os" "os"
"strings" "strings"
"sync" "sync"
"math/rand"
"text/template" "text/template"
"time" "time"
"unicode" "unicode"
@ -52,7 +52,7 @@ func main() {
if args[0] == "help" { if args[0] == "help" {
help(args[1:]) help(args[1:])
for _, cmd := range commands { for _, cmd := range commands {
if len(args)>=2 && cmd.Name() == args[1] && cmd.Run != nil { if len(args) >= 2 && cmd.Name() == args[1] && cmd.Run != nil {
fmt.Fprintf(os.Stderr, "Default Parameters:\n") fmt.Fprintf(os.Stderr, "Default Parameters:\n")
cmd.Flag.PrintDefaults() cmd.Flag.PrintDefaults()
} }
@ -173,7 +173,12 @@ func exitIfErrors() {
} }
func writeJson(w http.ResponseWriter, r *http.Request, obj interface{}) { func writeJson(w http.ResponseWriter, r *http.Request, obj interface{}) {
w.Header().Set("Content-Type", "application/javascript") w.Header().Set("Content-Type", "application/javascript")
bytes, _ := json.Marshal(obj) var bytes []byte
if r.FormValue("pretty") != "" {
bytes, _ = json.MarshalIndent(obj, "", " ")
} else {
bytes, _ = json.Marshal(obj)
}
callback := r.FormValue("callback") callback := r.FormValue("callback")
if callback == "" { if callback == "" {
w.Write(bytes) w.Write(bytes)
@ -185,7 +190,7 @@ func writeJson(w http.ResponseWriter, r *http.Request, obj interface{}) {
} }
} }
func debug(params ...interface{}){ func debug(params ...interface{}) {
if *IsDebug { if *IsDebug {
fmt.Println(params) fmt.Println(params)
} }