Skip to content

JSON struct field mapping tags

JSON struct field mapping tags are struct field tags used in Go to explicitly define the mapping between JSON keys and struct fields during the encoding and decoding process.^[400-devops-09-scripting-language-golang-introduction-part-2json-readme.md]

These tags are necessary when the field names in the external JSON data cannot exactly match the exported struct field names in the Go code, or when a specific mapping is required.^[400-devops-09-scripting-language-golang-introduction-part-2json-readme.md]

Syntax

The mapping is defined by appending a raw string literal to the struct field declaration, formatted as `json:"key_name"`.^[400-devops-09-scripting-language-golang-introduction-part-2json-readme.md]

Example

When defining a struct where the JSON keys use lowercase (e.g., id, title) but the Go export rules require uppercase field names (e.g., Id, Title), tags are used to bridge this gap:^[400-devops-09-scripting-language-golang-introduction-part-2json-readme.md]

type video struct {
    Id          string `json:"id"`
    Title       string `json:"title"`
    Description string `json:"description"`
    Imageurl    string `json:"imageurl"`
    Url         string `json:"url"`
}

Sources

^[400-devops-09-scripting-language-golang-introduction-part-2json-readme.md]