Ha szívesen olvasol közepes cikkeket, és szeretnél tag lenni, szívesen megosztom veled ajánlólinkemet!
Fejlesztőként gyakran találkozunk azzal, hogy különféle formátumú adatokat kell kezelnünk. Az egyik leggyakoribb formátum, amellyel találkozunk, a JSON (JavaScript Object Notation). A JSON egy nyelvtől független adatformátum, amely a weben történő adatcsere de facto szabványává vált. A Golang, egy népszerű nyílt forráskódú programozási nyelv, amely hatékonyságáról és egyszerűségéről ismert, kiváló beépített támogatást biztosít a JSON-adatokhoz. Ez a cikk bemutatja a JSON-adatok sorosítását és deszerializálását Golangban, és kódpéldákkal illusztrálja ezeket a folyamatokat.
A JSON ismerete a Golang nyelven
A Golang beépített encoding/json
csomaggal rendelkezik, amely megkönnyíti a JSON-adatokkal való munkát. Funkciókat biztosít a natív Golang-adatszerkezetek JSON-ba történő sorosítására (vagy „marshalálására”), valamint a JSON-adatok natív Golang-adatstruktúrákká történő deszerializálására (vagy „megszakítására”).
JSON sorozatosítás Golangban (Marshalling)
A Golang nyelven a JSON szerializálás egy adatstruktúra vagy objektum JSON formátumú karakterláncsá alakításának folyamata. Ez a folyamat a json.Marshal
függvénnyel végezhető el. A json.Marshal
függvény bármilyen adatszerkezetet felvesz, és egy bájtszeletet és egy hibát ad vissza.
Vegyünk egy egyszerű példát, ahol van egy személyt reprezentáló struktúránk, és ezt JSON-karakterláncsá szeretnénk konvertálni.
goCopy code package main import ( "encoding/json" "fmt" "log" ) type Person struct { Name string Age int } func main() { p := Person{"Alice", 30} jsonData, err := json.Marshal(p) if err != nil { log.Fatal(err) } fmt.Println(string(jsonData)) }
A kód futtatásakor a következő JSON-adatokat adja ki:
{"Name":"Alice","Age":30}