Golang program to demonstrates how to encode map data into a JSON string.
The below example is to converts a map type into a JSON string. First we need to add the package encoding/json to the list of imports. Then Marshal function of the json package is used to encode Go values into JSON values.
Example
package main
import (
"fmt"
"encoding/json" // Encoding and Decoding Package
)
func main() {
// Create a map of key/value pairs and parses the data into JSON
emp := make(map[string]interface{})
emp["name"] = "Mark Taylor"
emp["jobtitle"] = "Software Developer"
emp["phone"] = map[string]interface{}{
"home": "123-466-799",
"office": "564-987-654",
}
emp["email"] = "markt@gmail.com"
// Marshal the map into a JSON string.
empData, err := json.Marshal(emp)
if err != nil {
fmt.Println(err.Error())
return
}
jsonStr := string(empData)
fmt.Println("The JSON data is:")
fmt.Println(jsonStr)
}
Output
The JSON data is:
{"email":"markt@gmail.com","jobtitle":"Software Developer","name":"Mark Taylor","phone":{"home":"123-466-799","office":"564-987-654"}}
Here is the syntax for Marshal functions in Go:
func Marshal(v interface{}) ([]byte, error)
Marshal function is good for producing JSON that could be returned in a network response, like a Restfult API. The function Marshal returns two values: the encoded JSON data as slice byte and an error value. Using Marshal , we can also encode the values of struct type as JSON values that will help us to quickly build JSON-based APIs.
Most Helpful This Week
Database as a Service (DBaaS): Simplifying Database Management in the Cloud
GO Program to Check Whether a Number is Palindrome or Not
How do you handle HTTP timeouts with an HTTP client in Go?
How to read current directory using Readdir?
How to Improve the Performance of Your Golang Application?
How do you handle HTTP client caching in Go?
GO Program to find area and circumference of circle
GO Hello World program
Golang Program to print Triangle of Numbers
How to add items to Slice using append function in Golang?