Wie speichere ich JSON-Daten in einer Datenbank in Golang?
Jun 06, 2024 am 11:24 AMJSON-Daten k?nnen mithilfe der gjson-Bibliothek oder der json.Unmarshal-Funktion in einer MySQL-Datenbank gespeichert werden. Die gjson-Bibliothek bietet praktische Methoden zum Parsen von JSON-Feldern, und die Funktion json.Unmarshal erfordert einen Zieltypzeiger zum Unmarshalieren von JSON-Daten. Bei beiden Methoden müssen SQL-Anweisungen vorbereitet und Einfügevorg?nge ausgeführt werden, um die Daten in der Datenbank beizubehalten.
So speichern Sie JSON-Daten in einer Datenbank in Golang
Einführung
In Golang ist das Speichern von JSON-Daten in einer Datenbank eine h?ufige Aufgabe. In diesem Artikel werden verschiedene Methoden zur Beibehaltung von JSON-Daten unter Verwendung h?ufig verwendeter Datenbanken wie MySQL untersucht und praktische Beispiele als Referenz bereitgestellt.
Verwendung der GJSON-Bibliothek
Die GJSON-Bibliothek ist ein beliebtes Golang-Paket zum Parsen und Bearbeiten von JSON-Daten. Es bietet einfache Methoden zum Parsen von JSON-Daten in Go-Datenstrukturen wie Karten und Slices.
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) // 準備 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") }
Verwendung von json.Unmarshal
Die Funktion json.Unmarshal ist Teil der Golang-Standardbibliothek und wird zum Unmarshalieren von JSON-Daten in Go-Variablen verwendet. Diese Methode erfordert einen Zieltypzeiger als zweiten Parameter.
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) } // 準備 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") }
Das obige ist der detaillierte Inhalt vonWie speichere ich JSON-Daten in einer Datenbank in Golang?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Hei?e KI -Werkzeuge

Undress AI Tool
Ausziehbilder kostenlos

Undresser.AI Undress
KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover
Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Clothoff.io
KI-Kleiderentferner

Video Face Swap
Tauschen Sie Gesichter in jedem Video mühelos mit unserem v?llig kostenlosen KI-Gesichtstausch-Tool aus!

Hei?er Artikel

Hei?e Werkzeuge

Notepad++7.3.1
Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version
Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1
Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6
Visuelle Webentwicklungstools

SublimeText3 Mac-Version
Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Hei?e Themen

Golang ist in Gleichzeitigkeit besser als C, w?hrend C bei Rohgeschwindigkeit besser als Golang ist. 1) Golang erreicht durch Goroutine und Kanal eine effiziente Parallelit?t, die zum Umgang mit einer gro?en Anzahl von gleichzeitigen Aufgaben geeignet ist. 2) C über Compiler -Optimierung und Standardbibliothek bietet es eine hohe Leistung in der N?he der Hardware, die für Anwendungen geeignet ist, die eine extreme Optimierung erfordern.

Oracle ist nicht nur ein Datenbankunternehmen, sondern auch ein führender Anbieter von Cloud -Computing- und ERP -Systemen. 1. Oracle bietet umfassende L?sungen von der Datenbank bis zu Cloud -Diensten und ERP -Systemen. 2. Oraclecloud fordert AWS und Azure heraus und liefert IaaS-, PaaS- und SaaS -Dienste. 3. ERP-Systeme von Oracle wie E-Businesssuite und Fusion Applications helfen Unternehmen dabei, den Betrieb zu optimieren.

GolangissidealforbuildingsCalablesSystemduetoitseffizienz und Konsumverkehr, whilepythonexcelsinquickScriptingandDataanalyseduetoitssimplication und VacevastEcosystem.golangsDesineScouragesCouragescournations, tadelcodedeanDitsGoroutaTinoutgoroutaTinoutgoroutaTinoutsGoroutinesGoroutinesGoroutsGoroutins, t

Redis ist ein Speichersystem für Speicherdatenstruktur, das haupts?chlich als Datenbank, Cache und Message Broker verwendet wird. Zu den Kernmerkmalen geh?ren ein Einzel-Thread-Modell, E/A-Multiplexing, Persistenzmechanismus, Replikations- und Clustering-Funktionen. Redis wird üblicherweise in praktischen Anwendungen für Caching-, Sitzungsspeicher- und Nachrichtenwarteschlangen verwendet. Es kann seine Leistung erheblich verbessern, indem die richtige Datenstruktur ausgew?hlt, Pipelines und Transaktionen verwendet und überwacht und stimmt.

Die Zukunft von MongoDB ist voller M?glichkeiten: 1. Die Entwicklung von Cloud-nativen Datenbanken, 2. Die Bereiche der künstlichen Intelligenz und der Big Data sind fokussiert. Die Verbesserung der Sicherheit und der Einhaltung. MongoDB f?hrt weiter voran und führt durch Durchbrüche in technologischen Innovationen, Marktpositionen und zukünftiger Entwicklungsrichtung.

Redis ist traditionellen Datenbanken in hoher Parallelit?ts- und Latenz -Szenarien überlegen, ist jedoch nicht für komplexe Abfragen und Transaktionsverarbeitung geeignet. 1.Redis verwendet Speicherspeicher-, Schnelllese- und Schreibgeschwindigkeit, geeignet für Anforderungen an eine hohe Parallelit?t und niedrige Latenz. 2. Traditionelle Datenbanken basieren auf Festplatten, unterstützen komplexe Abfragen und Transaktionsverarbeitung und haben eine starke Datenkonsistenz und -dauer. 3.. Redis ist als Erg?nzung oder Ersatz für herk?mmliche Datenbanken geeignet, muss jedoch nach bestimmten Gesch?ftsbedürfnissen ausgew?hlt werden.

Der Hauptunterschied zwischen Navicats Communityedition und Commercialversionen sind die Funktionen und Nutzungsszenarien. CommunityEdition bietet grundlegende Datenbankverwaltungsfunktionen, die für Grundbedürfnisse geeignet sind. Commercialversionen umfassen fortschrittliche Funktionen wie Datenmodelldesign- und Automatisierungsaufgaben, die für professionelle Bedürfnisse geeignet sind.

RSS w?hlte XML anstelle von JSON aus, weil: 1) die Struktur- und überprüfungsfunktionen von XML besser sind als JSON, was für die Bedürfnisse von RSS -komplexen Datenstrukturen geeignet ist. 2) XML wurde zu dieser Zeit ausführlich unterstützt; 3) Die frühen Versionen von RSS basierten auf XML und sind zu einem Standard geworden.
