Heim  >  Artikel  >  Backend-Entwicklung  >  Warum kann ich JSON nicht in meine Go-Struktur analysieren?

Warum kann ich JSON nicht in meine Go-Struktur analysieren?

Linda Hamilton
Linda HamiltonOriginal
2024-11-12 04:25:02175Durchsuche

Why Can't I Parse JSON into My Go Struct?

JSON in Go-Strukturen analysieren

Das Parsen von JSON in Go-Strukturen ermöglicht einen bequemen Zugriff auf strukturierte Datenkonfigurationen. Obwohl das von Ihnen bereitgestellte Code-Snippet fehlerfrei kompiliert wird, können die Strukturfelder nicht mit korrekten Werten gefüllt werden.

Behebung des Problems

Das Problem liegt im Exportstatus von Ihre Strukturelemente. Damit in Go während der Kodierung/Dekodierung durch das JSON-Paket auf ein Strukturelement zugegriffen werden kann, muss es mit einem Großbuchstaben beginnen. Dadurch wird sichergestellt, dass auf das Element außerhalb seines Pakets zugegriffen werden kann.

Korrigieren des Codes

Um das Problem zu beheben, müssen Sie den ersten Buchstaben jedes Strukturelements in Großbuchstaben schreiben . Der korrigierte Code würde so aussehen:

var settings struct {
    ServerMode bool `json:"serverMode"`
    SourceDir  string `json:"sourceDir"`
    TargetDir  string `json:"targetDir"`
}

Durch die Großschreibung der Strukturelementnamen exportieren Sie sie im Wesentlichen und machen sie für die JSON-Kodierung und -Dekodierung zugänglich. Wenn der JSON-Parser nun auf die entsprechenden Feldnamen in der JSON-Datei stößt, weist er die analysierten Werte korrekt den Strukturfeldern zu.

Erwartete Ausgabe

Nach der Erstellung Nach dieser Korrektur sollte Ihr Programm nun die korrekten Einstellungswerte drucken, wie in der Datei config.json angegeben:

true . .

Das obige ist der detaillierte Inhalt vonWarum kann ich JSON nicht in meine Go-Struktur analysieren?. 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