S2S Drone Kamera Jarak Jauh Fotografi UdaraMetode penerimaan transmisi gambar: 2.4 WIFI. Lensa: lensa elektronik anti guncangan dengan stabilisator otomatis. Baterai kendali jarak jauh: AA * 3 untuk dibeli secara terpisah. Kapasitas baterai litium pintar: 3.7V 2000mAh. Jarak kontrol (bebas gangguan dan tidak ada oklusi):100M. Waktu penerbangan: sekitar 25 menit Free Klik Disini ! |
Pustaka standar Go menawarkan paket yang memiliki semua yang Anda perlukan untuk melakukan encoding dan decoding JSON.
Paket encode/json . Ini memungkinkan Anda untuk melakukan encoding data JSON seperti yang didefinisikan dalam RFC 7159.
Saat bekerja dengan data, kita biasanya ingin meng-encode beberapa struct Go menjadi string json.
Namun paket encode/json perpustakaan standar Go memungkinkan kita untuk meng-encode tipe data apa pun ke dalam string JSON.
Mari kita lihat beberapa contoh dan bagaimana encoding json bekerja pada beberapa tipe data Go dan bagaimana Anda dapat menyusun json struct.
Berikut ini definisi json Marshal dalam paket enkode json :
func Marshal(v interface{}) ([]byte, error)
a, _ := json.Marshal(23413)
fmt.Println(string(a))
a, _ := json.Marshal(true)
fmt.Println(string(a))
a, _ := json.Marshal([]string{"foo", "bar", "baz"})
fmt.Println(string(a))
a, _ := json.Marshal(map[string]int{"foo": 1, "bar": 2, "baz": 3})
fmt.Println(string(a))
package main
import (
"fmt"
"encoding/json"
)
type User struct {
Name string
Age int
Active bool
lastLoginAt string
}
func main() {
u, err := json.Marshal(User{Name: "Dina", Age: 20, Active: true, lastLoginAt: "today"})
if err != nil {
panic(err)
}
fmt.Println(string(u))
}
Ini adalah contoh yang lebih lengkap dan memungkinkan Anda untuk melihat bagaimana sebuah struct disusun dengan JSON di Go.
Perhatikan bahwa bidang yang dimulai dengan huruf kecil lastLoginAt
tidak diekspor dan tidak akan ditampilkan di hasil akhir marshal JSON.
package main
import (
"fmt"
"encoding/json"
)
type User struct {
Name string `json:"full_name"`
Age int `json:"age,omitempty"`
Active bool `json:"-"`
lastLoginAt string
}
func main() {
u, err := json.Marshal(User{Name: "Dina", Age: 0, Active: true, lastLoginAt: "today"})
if err != nil {
panic(err)
}
fmt.Println(string(u))
}
Contoh ini memungkinkan kita untuk melihat beberapa fitur JSON
json:"full_name"
dan menentukan nama khusus untuk bidang JSON Andajson:"<field name>,omitempty"
sebagai tag json, bidang akan dibuang di keluaran JSON jika nilainya nol.json:"-"
sebagai tag json, kolom akan dihapus seluruhnya dari output JSON. Ini digunakan ketika Anda ingin menyimpan bidang di struct Go Anda tetapi tidak di tampilkan di output JSON Anda