Heim >Backend-Entwicklung >Golang >Warum gibt mein Go-HTTP-Server keine JSON-Daten zurück?

Warum gibt mein Go-HTTP-Server keine JSON-Daten zurück?

Mary-Kate Olsen
Mary-Kate OlsenOriginal
2024-10-31 09:23:01739Durchsuche

Why Isn't My Go HTTP Server Returning JSON Data?

Erstellen von HTTP-Antworten mit JSON

Bei dieser Frage stieß der Autor auf Schwierigkeiten bei der Erstellung von JSON-Antworten von seinem Go-HTTP-Server. Beim Vergleich mit einem Arbeitsbeispiel waren sie von den offensichtlichen Ähnlichkeiten in ihrem Code verblüfft.

Der Kern des Problems liegt im Unterschied zwischen öffentlichen und nicht exportierten Variablen in Go-Strukturen. Das Arbeitsbeispiel verwendete öffentliche (exportierte) Feldnamen, wie zum Beispiel:

type Profile struct {
  Name    string
  Hobbies []string
}

Im Gegensatz dazu enthielt die Struktur des Autors nicht exportierte (Kleinbuchstaben-)Feldnamen:

type ResponseCommands struct {
    key   string
    value bool
}

Beim Marshalling nicht exportierter Felder zu JSON, der Encoder ignoriert sie. Folglich enthielt die benutzerdefinierte JSON-Antwort des Autors keine Daten. Um dieses Problem zu beheben, sollten sie sicherstellen, dass ihre Strukturfeldnamen exportiert (großgeschrieben) werden, um eine ordnungsgemäße JSON-Darstellung sicherzustellen.

Das obige ist der detaillierte Inhalt vonWarum gibt mein Go-HTTP-Server keine JSON-Daten zurück?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
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