Мне интересно, возможно ли потоковое воспроизведение JSON и включение других (одноуровневых) ключей помимо самого потока? Я хотел бы включить некоторые дополнительные данные о сгенерированном файле. Примерно так:
{
"info": {
"department": "a",
"id": "1",
},
"members": [
{ "name": "a", "age": "1" },
{ "name": "b", "age": "2" },
{ "name": "c", "age": "3" },
...stream
]
}
В настоящее время я транслирую JSON в плоский файл примерно так:
package main
import (
"encoding/json"
"os"
)
type Member struct {
Name string `json:"name"`
Age int `json:"age"`
}
func main() {
enc := json.NewEncoder(os.Stdout)
letters := []string{"a", "b", "c", "d", "e", "f"}
for i, letter := range letters {
key := Member{letter, i}
var err = enc.Encode(&key)
if err != nil {
// handle err
}
}
}
Но, как указано выше, я хотел бы добавить еще один ключ, такой как «info», и содержать поток в ключе, таком как «members»
Я могу придумать решение проблемы, которое будет хранить их в виде отдельных файлов в каталоге, например,
directory
├─ members.json
└─ info.json
Но можно ли добавить другие (одноуровневые) ключи или я ограничен простым файлом?