Heim >Backend-Entwicklung >Golang >Wie kann ich unbekannte JSON-Formate in Go entmarshalieren?

Wie kann ich unbekannte JSON-Formate in Go entmarshalieren?

Susan Sarandon
Susan SarandonOriginal
2024-11-26 05:54:18455Durchsuche

How Can I Unmarshal Unknown JSON Formats in Go?

Unmarshalling von JSON-Daten unbekannten Formats

Einführung

Ihre JSON-Daten haben ein unbekanntes Format, was eine Herausforderung beim Unmarshalling darstellt es in eine GoLang-Struktur. Dieser Artikel führt Sie durch die Schritte zur effektiven Bewältigung dieses Szenarios.

Unmarshalieren mit der Map[string]-Schnittstelle{}

Da Sie die Schlüssel nicht kennen Im Voraus können Sie „map[string]interface{}“ verwenden, um Ihre JSON-Nutzlast zu entmarshalieren. Dadurch können Sie die Schlüssel-Wert-Paare als Zuordnung speichern, ohne die Typen der Werte anzugeben.

var grades map[string]interface{}

err := json.Unmarshal([]byte(jsonString), &grades)
fmt.Println(err)

fmt.Printf("%#v\n", grades)

Dadurch werden die JSON-Daten als verschachtelte Zuordnung von Zeichenfolgen an Schnittstellen ausgegeben, was nützlich sein kann für Überprüfen und verarbeiten Sie die Daten dynamisch.

Mit json:"-" Tag

Sie Mit dem Tag json:"-" können Sie bestimmte Felder vom JSON-Marshalling/Unmarshaling ausschließen. Dies kann nützlich sein, wenn Sie einige Daten privat halten oder Zirkelverweise vermeiden möchten.

type GradeData struct {
    Grades map[string]interface{} `json:"-"`
}

var gradesData GradeData
err := json.Unmarshal([]byte(jsonString), &gradesData.Grades)
fmt.Println(err)

fmt.Printf("%#v\n", gradesData)

In diesem Beispiel wird das Feld „Grades“ nicht in die JSON-Darstellung von „gradesData“ aufgenommen, kann aber dennoch verwendet werden um die JSON-Daten zu speichern und abzurufen.

Fazit

Durch die Verwendung von map[string]interface{} und dem Mit dem Tag json:"-" können Sie JSON-Daten unbekannten Formats erfolgreich in GoLang-Strukturen entpacken. Mit diesem Ansatz können Sie elegant mit dynamischen und unbekannten JSON-Strukturen umgehen.

Das obige ist der detaillierte Inhalt vonWie kann ich unbekannte JSON-Formate in Go entmarshalieren?. 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