Membaca File .Json Pada Bahasa Golang

Subscribe Dengan Account Google Untuk Membaca Artikel Tanpa Iklan
Membaca File .Json Pada Bahasa Golang

JSON tentunya bukan lagi hal yang asing buat Anda yang bekerja di bidang teknologi, format type JSON cukup populer untuk menghubungkan antara satu bahasa pemrograman dengan bahasa pemrograman yang lain. Format JSON merupakan format yang banyak digunakan agar antara satu platform dan platform yang lainya bisa saling berkomunikasi.

Pada tutorial kali ini Anda akan belajar bagaimana caranya membaca file .JSON pada bahasa golang.

Persiapkan terlebih dahulu file dengan nama test.json, kemudian copy paste code di bawah ini :

[
{
"id":1,
"property_name": "lindon navapark bsd city",
"url":"https://property145.com/property/detail/Lyndon-Navapark-bsd-city-trphzehiwh"
},
{
"id":2,
"property_name": "Rumah mewah 3 lantai puri kemang",
"url":"https://property145.com/property/detail/Rumah-mewah-3-lantai-dipuri-11-karang-tengah-rbuyufbvcp"
},
{
"id":3,
"property_name": "New Cluster beryl",
"url":"https://property145.com/property/detail/New-Cluster-BERYL-rvlvbnpsxn"
},
{
"id":4,
"property_name": "cluster alexandrete",
"url":"https://property145.com/property/detail/Cluster-Alexandrite-vlnzozqspk"
},
{
"id":5,
"property_name": "ruko gandeng pusat kota tangerang",
"url":"https://property145.com/property/detail/Ruko-Gandeng-Pusat-Kota-Tangerang-rfblhkoudp"
},
{
"id":6,
"property_name": "rumah baru cluster baroni sumarecon",
"url":"https://property145.com/property/detail/Rumah-Baru-Cluster-Baroni-Sumarecon-Serpong-leqdioruye"
}
]

Dari file json diatas buat struct data terlebih dahulu, perhatikan code dibawah ini :

type ListData struct{
Id int `json:"id"`
PropertyName string `json:"property_name"`
Url string `json:"url"`
}

Kemudian buat sebuah fungsi untuk membaca file json, kamu bisa menggunakan library golang OS, perharikan kode dibawah ini :
func ReadJson() []ListData{
var list_data []ListData
var respData []ListData
jsonFile, err := os.Open("test.json")
if err != nil {
fmt.Println(err)
}
defer jsonFile.Close()

byteValue, _ := ioutil.ReadAll(jsonFile)
json.Unmarshal(byteValue, &list_data)

for i := 0; i < len(list_data); i++ {
lst := ListData{
Id: list_data[i].Id,
PropertyName: list_data[i].PropertyName,
Url: list_data[i].Url,
}

respData = append(respData,lst)
}
return respData
}


Selanjutnya buat file dengan nama readJson.go kemudian copy paste code lengkanya dibawah ini :

package main
import (
"encoding/json"
"fmt"
"io/ioutil"
"os"
)

type ListData struct{
Id int `json:"id"`
PropertyName string `json:"property_name"`
Url string `json:"url"`
}

func main(){
fmt.Println(ReadJson())
}

func ReadJson() []ListData{
var list_data []ListData
var respData []ListData
jsonFile, err := os.Open("test.json")
if err != nil {
fmt.Println(err)
}
defer jsonFile.Close()

byteValue, _ := ioutil.ReadAll(jsonFile)
json.Unmarshal(byteValue, &list_data)

for i := 0; i < len(list_data); i++ {
lst := ListData{
Id: list_data[i].Id,
PropertyName: list_data[i].PropertyName,
Url: list_data[i].Url,
}

respData = append(respData,lst)
}
return respData
}

Jalankan pada terminal anda dengan perintah go run readJson.go, jika success hasilnya seperti dibawah ini :

golang read json golang read json

Baca artikel lainya :


Github : https://github.com/alfinfanther/golang-example/tree/readjson