Skip to content

Instantly share code, notes, and snippets.

@zacg
Last active December 20, 2015 11:39
Show Gist options
  • Save zacg/6124880 to your computer and use it in GitHub Desktop.
Save zacg/6124880 to your computer and use it in GitHub Desktop.
Revel JSON result that outputs field names starting with lowercase.
func RenderLowerJson(o interface{}) revel.Result {
return RenderLowerJsonResult{o, true}
}
type RenderLowerJsonResult struct {
obj interface{}
lowerFirstChar bool
}
func (r RenderLowerJsonResult) Apply(req *revel.Request, resp *revel.Response) {
var b []byte
var err error
if revel.Config.BoolDefault("results.pretty", false) {
b, err = jsonutils.MarshalIndent(r.obj, "", " ", r.lowerFirstChar)
} else {
b, err = jsonutils.Marshal(r.obj, r.lowerFirstChar)
}
if err != nil {
revel.ErrorResult{Error: err}.Apply(req, resp)
return
}
resp.WriteHeader(200, "application/json")
resp.Out.Write(b)
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment