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 out bytes.Buffer if err := json.Indent(&out, bytes.TrimSpace(src), "", " "); err != nil { return nil, err } out.WriteByte('\n') return out.Bytes(), nil } func main() { src, err := io.ReadAll(os.Stdin) if err != nil { fmt.Fprintln(os.Stderr, "read:", err) os.Exit(1) } formatted, err := Pretty(src) if err != nil { fmt.Fprintln(os.Stderr, "invalid JSON:", err) os.Exit(1) } if _, err := os.Stdout.Write(formatted); err != nil { fmt.Fprintln(os.Stderr, "write:", err) os.Exit(1) } }