我从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