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}