diff --git a/formatter/json.go b/formatter/json.go index d24c4b8..74ed585 100644 --- a/formatter/json.go +++ b/formatter/json.go @@ -17,11 +17,20 @@ func (f *JSON) Name() string { return "json" } +// jsonObject defines a JSON object of an failure +type jsonObject struct { + Severity lint.Severity + lint.Failure `json:",inline"` +} + // Format formats the failures gotten from the lint. func (f *JSON) Format(failures <-chan lint.Failure, config lint.RulesConfig) (string, error) { - var slice []lint.Failure + var slice []jsonObject for failure := range failures { - slice = append(slice, failure) + obj := jsonObject{} + obj.Severity = severity(config, failure) + obj.Failure = failure + slice = append(slice, obj) } result, err := json.Marshal(slice) if err != nil {