package main import ( "bytes" "encoding/json" "fmt" "io" "os" ) // Pretty validates JSON and formats it with two-space indentation. func Pretty(src []byte) ([]byte, error) { var dst bytes.Buffer if err := json.Indent(&dst, bytes.TrimSpace(src), "", " "); err != nil { return nil, err } dst.WriteByte('\n') return dst.Bytes(), nil } func main() { src, err := io.ReadAll(os.Stdin) if err != nil { fmt.Fprintln(os.Stderr, "read:", err) os.Exit(1) } out, err := Pretty(src) if err != nil { fmt.Fprintln(os.Stderr, "invalid JSON:", err) os.Exit(1) } if _, err := os.Stdout.Write(out); err != nil { fmt.Fprintln(os.Stderr, "write:", err) os.Exit(1) } }