A Laurent A Laurent - 7 months ago 47
JSON Question

Golang return lower case json key

I send Json data with net/http package by an Url, i want to have some lowercase keys in return, but it's not working.

In this example of the problem, i want lowercase 'count' and 'data' key.

package main

import (

type tableau struct {
Count int `json"count"`
Data []People `json"data"`

type People struct {
Id int `json"Id"`
Name string `json"Name"`
Age int `json"Age"`

func main() {
http.HandleFunc("/people", recupPeople)
fs := http.FileServer(http.Dir("Static"))
http.Handle("/", fs)
http.ListenAndServe(":80", nil)

func recupPeople(w http.ResponseWriter, r *http.Request) {
listPeople := &tableau{
Count: 4,
Data: []People{
People{Id: 1, Name: "Laurent", Age: 20},
People{Id: 2, Name: "Laurent", Age: 20},
peop, _ := json.Marshal(listPeople)

But when i check the URL i didn't have lower case.
enter image description here



You forgot colon in tag declaration. As tags are not in proper format, field name fields are in your json response.

Try this:

type tableau struct {
    Count int      `json:"count"`
    Data  []People `json:"data"`