I'm exposing a REST endpoint with some data. It's a struct, say:
type status struct { Config struct { Allow bool `json:"allow"` Expired bool `json:"expired"` } Database struct { Healthy bool `json:"healthy"` WaitCount int64 `json:"wait_count"` } } I'm using the json tag to denote how a struct field should look when calling the endpoint. Using the above, I'm getting the following payload as response:
{ "Config": { "allow": false, "expired": false, }, "Database": { "healthy": true, "wait_count": 1, }, } I'd like for Config and Database to be lowercase, meaning config and database. However, changing them to that in the Go code means the "encoding/json" package cannot "see" them as they aren't exported outside of the package scope.
How do I lowercase the nested struct's in the json response payload?