


Comment enregistrer les données JSON dans la base de données dans Golang ?
Jun 06, 2024 am 11:24 AMLes données JSON peuvent être enregistrées dans une base de données MySQL en utilisant la bibliothèque gjson ou la fonction json.Unmarshal. La bibliothèque gjson fournit des méthodes pratiques pour analyser les champs JSON, et la fonction json.Unmarshal nécessite un pointeur de type cible pour désorganiser les données JSON. Les deux méthodes nécessitent la préparation d'instructions SQL et l'exécution d'opérations d'insertion pour conserver les données dans la base de données.
Comment enregistrer des données JSON dans une base de données dans Golang
Introduction
Dans Golang, enregistrer des données JSON dans une base de données est une tache courante. Cet article explorera différentes méthodes de persistance des données JSON à l'aide de bases de données couramment utilisées telles que MySQL, et fournira des exemples pratiques à titre de référence.
Utiliser la bibliothèque gjson
La bibliothèque gjson est un package Golang populaire pour analyser et manipuler les données JSON. Il fournit des méthodes simples pour analyser les données JSON dans des structures de données Go telles que des cartes et des tranches.
package main import ( "database/sql" "encoding/json" "fmt" _ "github.com/go-sql-driver/mysql" "github.com/tidwall/gjson" ) func main() { db, err := sql.Open("mysql", "user:password@tcp(localhost:3306)/database") if err != nil { panic(err) } defer db.Close() jsonData := `{ "name": "John Doe", "age": 30, "address": { "street": "Main Street", "city": "New York" } }` values := []interface{}{} // 解析 JSON 字段 name := gjson.Get(jsonData, "name").String() age := gjson.Get(jsonData, "age").Int() address := gjson.Get(jsonData, "address").String() values = append(values, name, age, address) // 準(zhǔn)備 SQL 語句 stmt, err := db.Prepare("INSERT INTO users (name, age, address) VALUES (?, ?, ?)") if err != nil { panic(err) } // 執(zhí)行插入操作 _, err = stmt.Exec(values...) if err != nil { panic(err) } fmt.Println("JSON data saved to database successfully") }
Utilisation de json.Unmarshal
La fonction json.Unmarshal fait partie de la bibliothèque standard Golang et est utilisée pour décomposer les données JSON en variables Go. Cette méthode nécessite un pointeur de type cible comme deuxième paramètre.
package main import ( "database/sql" "encoding/json" "fmt" _ "github.com/go-sql-driver/mysql" ) func main() { db, err := sql.Open("mysql", "user:password@tcp(localhost:3306)/database") if err != nil { panic(err) } defer db.Close() jsonData := `{ "name": "John Doe", "age": 30, "address": { "street": "Main Street", "city": "New York" } }` var user struct { Name string Age int Address string } err = json.Unmarshal([]byte(jsonData), &user) if err != nil { panic(err) } // 準(zhǔn)備 SQL 語句 stmt, err := db.Prepare("INSERT INTO users (name, age, address) VALUES (?, ?, ?)") if err != nil { panic(err) } // 執(zhí)行插入操作 _, err = stmt.Exec(user.Name, user.Age, user.Address) if err != nil { panic(err) } fmt.Println("JSON data saved to database successfully") }
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Outils d'IA chauds

Undress AI Tool
Images de déshabillage gratuites

Undresser.AI Undress
Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover
Outil d'IA en ligne pour supprimer les vêtements des photos.

Clothoff.io
Dissolvant de vêtements AI

Video Face Swap
échangez les visages dans n'importe quelle vidéo sans effort grace à notre outil d'échange de visage AI entièrement gratuit?!

Article chaud

Outils chauds

Bloc-notes++7.3.1
éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise
Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1
Puissant environnement de développement intégré PHP

Dreamweaver CS6
Outils de développement Web visuel

SublimeText3 version Mac
Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Sujets chauds

Golang est meilleur que C en concurrence, tandis que C est meilleur que Golang en vitesse brute. 1) Golang obtient une concurrence efficace par le goroutine et le canal, ce qui convient à la gestion d'un grand nombre de taches simultanées. 2) C Grace à l'optimisation du compilateur et à la bibliothèque standard, il offre des performances élevées près du matériel, adaptées aux applications qui nécessitent une optimisation extrême.

Oracle n'est pas seulement une entreprise de base de données, mais aussi un leader des systèmes de cloud computing et ERP. 1. Oracle fournit des solutions complètes de la base de données aux services cloud et aux systèmes ERP. 2. OracleCloud défie AWS et Azure, fournissant des services IaaS, PaaS et SaaS. 3. Les systèmes ERP d'Oracle tels que E-BusinessSuite et FusionApplications aident les entreprises à optimiser les opérations.

GolangisidealforBuildingsCalableSystemsDuetoitSefficiency and Concurrency, tandis que les Implicites de l'Indrecosystem et le Golang'sDesignenCourageSlecElNCORES

Redis est un système de stockage de structure de données de mémoire, principalement utilisé comme base de données, cache et courtier de messages. Ses caractéristiques principales incluent un modèle unique, un multiplexage d'E / S, un mécanisme de persistance, des fonctions de réplication et de clustering. Redis est couramment utilisé dans les applications pratiques pour la mise en cache, le stockage de session et les files d'attente de messages. Il peut améliorer considérablement ses performances en sélectionnant la bonne structure de données, en utilisant des pipelines et des transactions, et en surveillant et en réglage.

L'avenir de MongoDB est plein de possibilités: 1. Le développement des bases de données natifs du cloud, 2. Les domaines de l'intelligence artificielle et des mégadonnées sont ciblés, 3. L'amélioration de la sécurité et de la conformité. MongoDB continue d'avancer et de faire des percées dans l'innovation technologique, la position du marché et l'orientation future du développement.

Redis est supérieur aux bases de données traditionnelles dans des scénarios élevés de concurrence et de faible latence, mais ne convient pas aux requêtes complexes et au traitement des transactions. 1.redis utilise le stockage de mémoire, la lecture rapide et la vitesse d'écriture, adapté aux exigences élevées de la concurrence et de la latence faible. 2. Les bases de données traditionnelles sont basées sur le disque, prennent en charge les requêtes complexes et le traitement des transactions, et ont une cohérence et une persistance des données solides. 3. Redis convient comme complément ou substitut aux bases de données traditionnelles, mais elle doit être sélectionnée en fonction des besoins commerciaux spécifiques.

La principale différence entre la communauté de Navicat et les versions commerciales est la fonctionnalité et les scénarios d'utilisation. CommunityEdition fournit des fonctions de gestion de base de données de base qui conviennent aux besoins de base; CommercialVersions comprend des fonctions avancées, telles que la conception du modèle de données et les taches d'automatisation, adaptées aux besoins professionnels.

RSS a choisi XML au lieu de JSON car: 1) les capacités de structure et de vérification de XML sont meilleures que JSON, ce qui convient aux besoins des structures de données complexes RSS; 2) XML a été largement soutenu à l'époque; 3) Les premières versions de RSS étaient basées sur XML et sont devenues une norme.
