In Go kann das Erstellen von HTTP-Antworten mit JSON-Inhalten eine Herausforderung darstellen, insbesondere wenn es um Nullergebnisse geht. Ziel dieses Artikels ist es, ein häufiges Problem anzugehen, das beim Versuch, JSON-Antworten zu erstellen, auftritt.
Ein Anfänger in Go versucht, einen einfachen HTTP-Server mit JSON-Antwortfunktionalität zu implementieren. Der Server gibt jedoch durchweg eine leere Antwort mit dem Inhaltstyp „text/plain; charset=utf-8“ zurück. Der Entwickler hat seinen Code mit einem Online-Beispiel verglichen, konnte jedoch keine Unterschiede feststellen.
Der Kern des Problems liegt in der Sichtbarkeit der Felder der Struktur. In Go müssen Strukturfelder exportiert werden (in Großbuchstaben), damit sie für JSON-Marshalling zugänglich sind.
Beispielcode (Original/Falsch):
<code class="go">type ResponseCommands struct { key string value bool }</code>
Beispielcode (korrigiert):
<code class="go">type ResponseCommands struct { Key string Value bool }</code>
Wenn die Felder exportiert werden, kann der JSON-Encoder ordnungsgemäß auf ihre Werte zugreifen und diese codieren. Diese einfache, aber wichtige Änderung behebt das Problem und ermöglicht es dem Server, gültige JSON-Antworten zurückzugeben.
Das obige ist der detaillierte Inhalt vonWarum gibt mein Go-HTTP-Server leere JSON-Antworten zurück?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!