Heim > Artikel > Backend-Entwicklung > Golang: Nur ein Objekt in der JSON-Sammlungsantwort abrufen
php-Editor Banana bietet Ihnen eine Einführung in die Fähigkeit von Golang, nur ein Objekt in einer JSON-Sammlungsantwort abzurufen. Bei der Verarbeitung von JSON-Daten müssen wir manchmal nur eines der Objekte statt der gesamten Sammlung abrufen. In diesem Fall können wir einige einfache Methoden verwenden, um dies zu erreichen. In diesem Artikel erfahren Sie im Detail, wie Sie mit Golang diese Anforderung erfüllen und JSON-Daten flexibler verarbeiten können. Egal, ob Sie Anfänger oder erfahrener Entwickler sind, in diesem Artikel erhalten Sie praktische Tipps und Methoden. Lasst uns gemeinsam erkunden!
Angenommen, ich habe einen JSON-Antworttext wie diesen:
{ value: [{object a's key-values}, {object b's key-values}, {object c's key-values} ...] }
Wobei die Objekte a, b, c unterschiedliche Strukturen haben, obwohl sie möglicherweise dieselben Schlüsselnamen haben. (z. B. können sowohl obj a als auch b den Schlüssel „b“ haben, aber nur obj a hat den Schlüssel „a“)
Mich interessiert nur das Objekt a in der JSON-Antwort, der Rest kann verworfen werden. Wenn ich eine Struktur wie diese habe:
type MyObject struct{ a string b string } type MyData struct{ value []MyObject }
Funktioniert das Unmarshaling der Antwort in mydata? Können wir einen bestimmten Slice-Typ angeben, sodass nur die erforderlichen Elemente mit der richtigen Struktur nicht gemarshallt werden und die restlichen Objekte in der JSON-Sammlung ignoriert werden?
Erstens: Sie müssen die Strukturmitglieder exportieren:
type myobject struct{ a string `json:"a"` b string `json:"b"` } type mydata struct{ value []myobject `json:"value"` }
Sie können das Array dann entmarshalieren mit:
var v mydata json.unmarshal(input,&v)
Dadurch wird für jedes Array-Element in der Eingabe ein myobject
实例,但只有那些具有 a
和 b
字段的元素才会被填充。因此,您可以过滤包含 a
erstellt:
for _,x:=range v.Values { if x.A!="" { /// } }
Das obige ist der detaillierte Inhalt vonGolang: Nur ein Objekt in der JSON-Sammlungsantwort abrufen. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!