Ich lese eine Reihe von JSON-Dateien von S3, und möchte sie alle als ein großes JSON-Array zurückgeben. Ich habe eine Struktur, die meinen JSON-Daten entspricht, und eine for-Schleife, die über alle Objekte in meinem S3-Bucket iteriert. Jedes Mal, wenn ich lese, entpacke ich mein Struktur-Array. Ich möchte an meine Struktur-Array anhängen, so dass ich alle JSON-Daten und nicht nur die Daten einer Datei erhalten kann. Gibt es das überhaupt in Golang?Unmarshal und an Array anhängen gehen
1
A
Antwort
1
Ja, Sie sollten ein temporäres Array erstellen, um den Inhalt jedes JSONs zu unmarshalen, und dann die Elemente an Ihr endgültiges Ergebnis-Array anhängen, um die gesamte Sammlung als ein Element zurückzugeben.
Sehen Sie hier ein Beispiel dafür.
In Ihrem Fall würde input
von jeder der S3-Dateien kommen, die Sie erwähnen. Außerdem würden Sie diese Unmarshol-Logik wahrscheinlich in eine eigene Funktion setzen, um sie für jeden JSON-Eingang aufrufen zu können.
package main
import (
"encoding/json"
"fmt"
"log"
)
type Record struct {
Author string `json:"author"`
Title string `json:"title"`
}
func main() {
var allRecords []Record
input := []byte(`[{
"author": "Nirvana",
"title": "Smells like teen spirit"
}, {
"author": "The Beatles",
"title": "Help"
}]`)
var tmpRecords []Record
err := json.Unmarshal(input, &tmpRecords)
if (err != nil) {
log.Fatal(err)
}
allRecords = append(allRecords, tmpRecords...)
fmt.Println("RECORDS:", allRecords)
}
Verwandte Themen
- 1. Array an UICollectionView anhängen
- 2. Anhängen an Array in Schließung
- 3. Wie an Array an bestimmten Schlüssel anhängen
- 4. Array-Schlüsselwert an ein Sitzungs-Array anhängen
- 5. JSON-Array an String-Array anhängen
- 6. Unmarshal geschachtelte Arrays mit identischem Namen, aber separaten Elementen gehen
- 7. Numpy: Elemente an Matrix-artiges Array anhängen
- 8. Bild an Array von DocumentDirectory anhängen
- 9. Wie Text an Array-Wert anhängen JavaScript
- 10. Werte von Array an BehaviorSubject anhängen
- 11. An ein Array durch JSon-Analyse anhängen
- 12. Formulare dynamisch an PHP-Array anhängen
- 13. Eine neue Referenz an ein Array anhängen?
- 14. Wie Funktion an ein Array anhängen?
- 15. Anhängen an ein Array von Nullable-Typen
- 16. PHP - Zwei mehrdimensionale Arrays komparieren und an ein Array anhängen
- 17. PHP Schleifen durch Array und Anhängen an Objekt
- 18. An NSTextView anhängen und scrollen
- 19. Rekursion und Anhängen an Listen
- 20. hinzufügen/anhängen Array Array
- 21. 2D-Array an 3D-Array anhängen, die dritte Dimension erweitern
- 22. Daten an Objekt anhängen
- 23. Unmarshal nicht gültig JSON
- 24. Express/EJS-Array und Liste Klicken Anhängen
- 25. Array von uint8_t und Daten anhängen
- 26. Golang XML Unmarshal und time.Time Felder
- 27. anhängen Dateien Array Formulardaten
- 28. Element an Objekt [Arrays] anhängen?
- 29. Bild herunterladen und an anderer Stelle anhängen
- 30. Jquery klonen und an den Eingabewert anhängen
Bitte benutzen Sie [Anfügen] versuchen (https://golang.org/pkg/builtin/#append)? – mkopriva
Muss ich einen temporären Slice erstellen, um ihn anzuhängen? B/c 'Unmarshal' gibt nichts zurück, kann das also nicht anhängen. –
Sie entpacken die Datei in den struct-Wert und hängen die Struktur an den Slice an. Nachdem die Schleife fertig ist, geben Sie den Slice zurück. – mkopriva