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
Freigeben: 2024-10-31 09:23:01
Original
737 Leute haben es durchsucht

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
}
Nach dem Login kopieren

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

type ResponseCommands struct {
    key   string
    value bool
}
Nach dem Login kopieren

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!

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