Membaca File .Json Pada Bahasa Golang

Subscribe dengan Account Google untuk mendapatkan News Letter terbaru dari Halovina !
Membaca File .Json Pada Bahasa Golang
Informa Tempat Sampah 30 Ltr Stainless Slow Close - Silver

Informa Tempat Sampah 30 Ltr Stainless Slow Close - Silver

Tempat sampah pedal persembahan dari Informa ini akan menjadi perlatan rumah tangga yang mampu menjaga rumah terbebas dari sampah. Dioperasikan dengan menggunakan pedal injak agar tangan tetap higienis saat membuang sampah. Selain itu, tempat sampah ini dilengkapi dengan tutup soft close (menutup perlahan) sehingga tidak menimbulkan bunyi saat menutup.

Free Klik Disini !

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