我從S3讀取一些JSON文件,並希望將它們全部作爲一個大的JSON數組返回。我有一個匹配我的JSON數據的結構,以及一個for循環迭代我的s3存儲桶中的所有對象。每次我讀,我解組到我的結構數組。我想追加到我的結構數組中,這樣我就可以獲取所有JSON數據而不僅僅是一個文件的數據。無論如何要在Golang中做到這一點?解組並追加到數組去
1
A
回答
1
是的,您應該創建一個臨時數組來解組每個JSON的內容,然後將這些項追加到最終結果數組中,以便將整個集合作爲一個項目返回。
看到這裏的一個例子。
在你的情況下,input
將來自你提到的每個S3文件。此外,你可能會把這個反編組邏輯放在它自己的函數中,以便能夠爲每個輸入JSON調用它。
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)
}
相關問題
- 1. 通過解析Json追加到數組
- 2. SWIFT:解析列不追加到數組
- 3. 重複數組元素並追加到相同的數組
- 4. 追加數組
- 5. 追加數組
- 6. 將數組追加到UICollectionView
- 7. Python:追加到數組
- 8. 追加到數組nodejs mongodb
- 9. VB - 追加到數組?
- 10. 將數組追加到div
- 11. PHP追加數組
- 12. array_map並追加字符串數組
- 13. 添加追加numpy數組
- 14. Swift - 追加到結構中的數組
- 15. Javascript動態追加到一個數組
- 16. 追加multiselect下拉列表到數組
- 17. 追加數組值到列表項
- 18. Swift數組不被追加到
- 19. 追加值到多維數組PHP
- 20. 在迭代時追加到數組
- 21. 的Python:多參數追加到元組
- 22. 追加到Swift中的泛型數組
- 23. 如何追加到Hive數組?
- 24. 將數組追加到jQuery模板
- 25. 從數組中追加文本到div
- 26. 追加字段到記錄數組?
- 27. 追加到在C字節數組++
- 28. 將數組追加到無序列表
- 29. 將對象追加到對象數組
- 30. PHP陣列,追加的數組項數遞歸到數組
你嘗試[追加](https://golang.org/pkg/builtin/#append)? – mkopriva
我需要做一個臨時切片來追加嗎? B/c'Unmarshal'不返回任何內容,所以不能追加。 –
將文件解組到您的struct值中,然後將該結構附加到切片,循環完成後返回切片。 – mkopriva