How to convert a JSON to a Struct in Golang

Last updated on Jun 19, 2021 by Suraj Sharma

In this tutorial, you will learn to convert a known JSON string to a Golang struct using the package json by importing encoding/json

import "encoding/json"

To convert a known JSON string to a struct data type we use the UnMarshal function


package main

import (

type Post struct {
    ID uint        `json:"id"`
    Title string   `json:"title"`
    Author string  `json:"author"`
    Content string `json:"content"`
func main () {
    // create an instance of Post struct
    post := Post{}

    // convert a JSON string to a []byte first
    b := []byte(`{"id":1,"title":"Golang Tutorial","author":"Suraj Sharma","content":"Learn Golang by examples"}`)

    // use json.UnMarshal to convert the []byte of JSON data to struct
    // by passing pointer to post variable as a second argument

    err := json.Unmarshal(b, &post)

    if err != nil {
        fmt.Println("Unable to convert the JSON string to a struct")
    } else {
        // print the post
// Output
// {1 Golang Tutorial Suraj Sharma Learn Golang by examples}

Related Solutions

Rate this post

Suraj Sharma is a Full Stack Software Engineer. He holds a B.Tech degree in Computer Science & Engineering from NIT Rourkela.