我從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. 追加數組
- 7. 追加數組
- 8. VB - 追加到數組?
- 9. C++追加到數組
- 10. 將數組追加到UICollectionView
- 11. 將數組追加到div
- 12. Python:追加到數組
- 13. 追加到關聯數組?
- 14. 追加到數組nodejs mongodb
- 15. 追加到元組
- 16. Javascript數組追加
- 17. JS數組追加
- 18. PHP追加數組
- 19. array_map並追加字符串數組
- 20. 追加n元素添加到數組
- 21. 把SQL數組數據追加到javascript
- 22. 添加追加numpy數組
- 23. 追加鍵數組的數組值
- 24. 追加數組給另一個數組
- 25. 去xml解組
- 26. 追加到數組中的Java
- 27. 如何將散列追加到數組?
- 28. 追加數組值到列表項
- 29. 追加到數組的開頭
- 30. 追加到與foreach相同的數組
你嘗試[追加](https://golang.org/pkg/builtin/#append)? – mkopriva
我需要做一個臨時切片來追加嗎? B/c'Unmarshal'不返回任何內容,所以不能追加。 –
將文件解組到您的struct值中,然後將該結構附加到切片,循環完成後返回切片。 – mkopriva