Heim > Backend-Entwicklung > Golang > Wie ordne ich Zeichenfolgen verschiedenen Typen in Go-JSON-Objekten zu?

Wie ordne ich Zeichenfolgen verschiedenen Typen in Go-JSON-Objekten zu?

Barbara Streisand
Freigeben: 2024-12-14 12:05:11
Original
718 Leute haben es durchsucht

How to Map Strings to Diverse Types in Go JSON Objects?

Zuordnung von Zeichenfolgen zu verschiedenen Typen in JSON-Objekten

In Go erfordern Zuordnungen die explizite Angabe ihrer Schlüssel- und Werttypen. Beim Umgang mit JSON-Objekten, die Schlüssel-Wert-Paare beliebiger Typen zulassen, stellt diese Einschränkung eine Hürde dar.

Frage:

Wie können wir eine Karte erstellen, die das kann in ein JSON-Objekt der Form { „a“: „apple“, „b“: 2 } konvertiert werden, wobei Schlüssel und Werte unterschiedlich sein können Typen?

Antwort:

Go bietet über seinen Schnittstellentyp {} eine Lösung, die Werte jeden Typs enthalten kann. Gemäß der Dokumentation des Encoding/JSON-Pakets gelten beim Unmarshaling von JSON in eine Schnittstelle{} die folgenden Regeln:

  • Boolesche Werte werden als Bool gespeichert.
  • Zahlen werden als Float64 gespeichert .
  • Strings werden als String gespeichert.
  • Arrays werden als gespeichert []interface{}.
  • Objekte werden als map[string]interface{} gespeichert.
  • Nullwerte werden als Null gespeichert.

Um dies zu nutzen, Wir können einfach eine Map[string]interface{} erstellen und sie mit Werten verschiedener Typen füllen:

m := map[string]interface{}{"a":"apple", "b":2}
Nach dem Login kopieren

Diese Map kann jetzt einfach erstellt werden in ein JSON-Objekt umgewandelt, indem es mit der Funktion json.Marshal() gemarshallt wird.

Das obige ist der detaillierte Inhalt vonWie ordne ich Zeichenfolgen verschiedenen Typen in Go-JSON-Objekten zu?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage