package format import ( "bytes" "encoding/json" ) func FormatJSON(input string) string { var data any if err := json.Unmarshal([]byte(input), &data); err != nil { var out bytes.Buffer if err := json.Indent(&out, []byte(input), "", " "); err == nil { return out.String() } return input } var out bytes.Buffer encoder := json.NewEncoder(&out) encoder.SetEscapeHTML(false) encoder.SetIndent("", " ") if err := encoder.Encode(data); err != nil { return input } formatted := out.String() if len(formatted) > 0 && formatted[len(formatted)-1] == '\n' { formatted = formatted[:len(formatted)-1] } return formatted }