Heim  >  Artikel  >  Backend-Entwicklung  >  Go gibt Strukturen als JSON in HTTP-Anfragen zurück

Go gibt Strukturen als JSON in HTTP-Anfragen zurück

WBOY
WBOYnach vorne
2024-02-09 14:10:21952Durchsuche

Go 在 HTTP 请求中以 JSON 形式返回结构体

php-Editor Xigua In diesem Artikel wird erläutert, wie Sie das JSON-Format verwenden, um Strukturdaten in der Go-Sprache zurückzugeben. Bei HTTP-Anfragen müssen wir normalerweise Daten in Form von JSON an den Client zurückgeben. Die Go-Sprache bietet eine einfache und leistungsstarke Möglichkeit, diese Anforderung zu erfüllen. Durch die Konvertierung der Strukturdaten in das JSON-Format und das Festlegen der richtigen Antwortheader können wir strukturierte Daten problemlos an den Client zurückgeben. In diesem Artikel wird ausführlich erläutert, wie Sie diese Funktion mithilfe der Go-Sprache implementieren, und Beispielcode bereitstellen, um den Lesern ein besseres Verständnis zu erleichtern. Egal, ob Sie Anfänger oder erfahrener Entwickler sind, dieser Artikel liefert Ihnen wertvolles Wissen und Tipps. Fangen wir jetzt an!

Frageninhalt

Ich habe in go folgende Struktur definiert:

type repostars struct {
name    string
owner   string
stars   int
}

Ich habe ein Array repoitems := []repostars{} erstellt, das mehrere Elemente der oben genannten Struktur enthält.

So sieht repoitems aus:

Ich versuche, diese Elemente als JSON-Antwort zurückzugeben:

w.Header().Set("Content-Type", "application/json")
json.NewEncoder(w).Encode(repoItems)

Und es sieht leer aus

Was mache ich hier falsch?

Problemumgehung

Wenn das Strukturfeld mit einem Kleinbuchstaben beginnt, bedeutet dies nicht exportiert. Alle nicht exportierten Felder werden vom Encoder nicht serialisiert.

Ändern Sie den ersten Buchstaben in einen Großbuchstaben.

type repoStars struct {
    Name string
    Owner string
    Stars int
}

Das obige ist der detaillierte Inhalt vonGo gibt Strukturen als JSON in HTTP-Anfragen zurück. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Dieser Artikel ist reproduziert unter:stackoverflow.com. Bei Verstößen wenden Sie sich bitte an admin@php.cn löschen