To read a JSON file in Go, you can use the “json.Unmarshal()” function from the “encoding/json” package.
Example
Let’s say we have the “data.json” file that contains the following content:
{
"name" : "Krunal Lathiya",
"age" : 30,
"email" : "krunal@example.com"
}
Now, we will read this JSON file and parse its content.
package main
import (
"encoding/json"
"fmt"
"io/ioutil"
"log"
"os"
)
// Define a struct to hold the JSON data
type Student struct {
Name string `json:"name"`
Age int `json:"age"`
Email string `json:"email"`
}
func main() {
// Open the JSON file
file, err := os.Open("data.json")
if err != nil {
log.Fatalf("Error opening file: %v", err)
}
defer file.Close()
// Read the file content
content, err := ioutil.ReadAll(file)
if err != nil {
log.Fatalf("Error reading file: %v", err)
}
// Parse the JSON content
var student Student
err = json.Unmarshal(content, &student)
if err != nil {
log.Fatalf("Error unmarshalling JSON: %v", err)
}
// Use the parsed JSON data
fmt.Printf("Name: %s\nAge: %d\nEmail: %s\n",
student.Name, student.Age, student.Email)
}
Output
Name: Krunal Lathiya
Age: 30
Email: krunal@example.com
In the above code, we defined a Student struct to hold the JSON data.
In the next step, we opened the JSON file using the “os.Open()” function and read its content with the “ioutil.ReadAll()” function.
After that, we parsed the JSON content using the “json.Unmarshal()” function.
Finally, we printed the parsed JSON data to the console.

Krunal Lathiya is a seasoned Computer Science expert with over eight years in the tech industry. He boasts deep knowledge in Data Science and Machine Learning. Versed in Python, JavaScript, PHP, R, and Golang. Skilled in frameworks like Angular and React and platforms such as Node.js. His expertise spans both front-end and back-end development. His proficiency in the Python language stands as a testament to his versatility and commitment to the craft.