Golang – Json

Json (Javascript Object Notation) merupakan format file yang saat ini begitu banyak digunakan, dan bahkan menggeser keberadaan xml saat ini. Di Golang menyediakan package yang dapat digunakan untuk memproses json ini.


Encoding

Encoding atau mengkonvert variable dalam Go ke string dengan format json. Fungsi yang dapat digunakan untuk encoding yaitu :

Perhatikan contoh berikut :

http://play.golang.org/p/ddQgDvmBvv

Seperti kita lihat hasil output diatas bahwa nama key dari json sesuai dengan nama variable dalam struct tersebut. Jika kita menginginkan key berbeda dengan nama variable kita dapat menggunakan struct tag, perhatikan code dibawah ini

Jika kita ingin meng-ignore atau tidak ingin encode ke json, kita dapat menggunakan json:”-” pada tag di struct nya.

http://play.golang.org/p/b0bsxaiKwT


Decoding

Kebalikan dari encoding, decoding yaitu membuat variable Go dengan string json. Kita dapat menggunakan fungsi berikut :

Penggunaannya mirip-mirip dengan encoding sebelumnya, dan berikut contoh penggunakaannya.

http://play.golang.org/p/QnshufugIs

Sama dengan encoding sebelumnya kita dapat menggunakan tag pada struct. Jika tidak ada tag struct maka akan menggunakan nama dari variable pada struct tersebut.


Encoding dan Decoding ke map

Selain encoding dan decoding pada struct, Go juga dapat mengdecoding dan encoding ke map dengan tipe map[string]interface{}. Perhatikan contoh dibawah untuk lebih jelas

http://play.golang.org/p/VmImnH8IeS

Untuk lebih jelas mengenai json silakan langsun ke documentasi Golang : https://golang.org/pkg/encoding/json

Leave a Reply

Your email address will not be published. Required fields are marked *