Sobes.tech
Junior — Middle

Hai esperienza con il tipo di dato jsonb in un database?

sobes.tech AI

Risposta dell'AI

Sì, il tipo di dato jsonb nel database PostgreSQL è una rappresentazione binaria di JSON che consente di memorizzare e indicizzare efficacemente i dati JSON.

In Go, per lavorare con jsonb, si utilizza generalmente il pacchetto database/sql insieme al driver per PostgreSQL (ad esempio, lib/pq o pgx). Per trasmettere e ricevere dati nel campo jsonb, si usano tipi come []byte o string, così come strutture serializzate/deserializzate tramite il pacchetto encoding/json.

Esempio di scrittura di una struttura in un campo jsonb:

import (
    "database/sql"
    "encoding/json"
    _ "github.com/lib/pq"
)

type Data struct {
    Name string `json:"name"`
    Age  int    `json:"age"`
}

func insertJSONB(db *sql.DB, d Data) error {
    jsonData, err := json.Marshal(d)
    if err != nil {
        return err
    }
    _, err = db.Exec("INSERT INTO table_name (jsonb_column) VALUES ($1)", jsonData)
    return err
}

In questo modo, l'esperienza con jsonb include la serializzazione di strutture in JSON, il salvataggio nel campo jsonb e le successive query e deserializzazioni.