Swiftorial Logo
Home
Swift Lessons
Tutorials
Learn More
Career
Resources

Go Lang - JSON Handling

Handling JSON Data in Go

JSON (JavaScript Object Notation) is a popular data interchange format that is used extensively in web applications and APIs. Go provides built-in support for encoding (marshalling) and decoding (unmarshalling) JSON data.

Key Points:

  • Go's 'encoding/json' package allows easy conversion between JSON and Go data structures.
  • Marshalling converts Go objects into JSON data, while unmarshalling converts JSON data into Go objects.
  • JSON handling in Go is efficient and straightforward, making it suitable for web services and API development.

Example of JSON Handling in Go

Below is an example demonstrating JSON handling in Go:


// Example: JSON Handling in Go
package main

import (
    "encoding/json"
    "fmt"
)

// Define a struct for JSON data
type Person struct {
    Name string `json:"name"`
    Age  int    `json:"age"`
}

func main() {
    // Encoding (Marshalling) JSON
    person := Person{Name: "John Doe", Age: 30}
    jsonData, err := json.Marshal(person)
    if err != nil {
        fmt.Println("Error encoding JSON:", err)
        return
    }
    fmt.Println("JSON Data:", string(jsonData))

    // Decoding (Unmarshalling) JSON
    var newPerson Person
    err = json.Unmarshal(jsonData, &newPerson)
    if err != nil {
        fmt.Println("Error decoding JSON:", err)
        return
    }
    fmt.Println("Decoded Person:", newPerson)
}
          

Summary

This guide provided an overview of handling JSON data in Go, including examples of encoding (marshalling) and decoding (unmarshalling) JSON using Go's 'encoding/json' package. By leveraging JSON handling capabilities in Go, you can easily integrate with web services and APIs that use JSON as a data format.